La programación orientada a objetos (POO) es un paradigma de programación que usa objetos para crear aplicaciones. Está basada en tres pilares fundamentales: herencia, polimorfismo, encapsulación. Su uso se popularizó a principios de la década de 1990
VENTAJAS DE LA PROGRAMACIÓN ORIENTADA A OBJETOS
- Fomenta la reutilización y ampliación del código.
- Permite crear sistemas más complejos.
- La programación se asemeja al mundo real.
- Agiliza el desarrollo de software.
- Facilita el trabajo en equipo.
- clases
- objetos
OBJETOS
Modelo = Focus
Color = Azul
Velocidad Máxima = 260 km/h
Lo interesante de la POO es que proporciona conceptos y herramientas con las cuales se modela y representa el mundo real tan fielmente como sea posible.
Para entender este modelo vamos a revisar 2 conceptos fundamentales:
En el mundo real, normalmente tenemos muchos objetos del mismo tipo. Por ejemplo, nuestro teléfono móvil es sólo uno de los miles que hay en el mundo. Si hablamos en términos de la programación orientada a objetos, podemos decir que nuestro objeto móvil es una instancia de una clase conocida como “móvil”. Los móviles tienen características (marca, modelo, sistema operativo, pantalla, teclado, etc.) y comportamientos (hacer y recibir llamadas, enviar mensajes multimedia, transmisión de datos, etc.).
Cuando se fabrican los móviles, los fabricantes aprovechan el hecho de que los móviles comparten esas características comunes y construyen modelos o plantillas comunes, para que a partir de esas se puedan crear muchos móviles del mismo modelo. A ese modelo o plantilla le llamamos clase, y a los equipos que sacamos a partir de ella la llamamos objetos.
Esto mismo se aplica a los objetos de software, se puede tener muchos objetos del mismo tipo y mismas características.
Definición teórica: La clase es un modelo o prototipo que define las variables y métodos comunes a todos los objetos de cierta clase. También se puede decir que una clase es una plantilla genérica para un conjunto de objetos de similares características.
Por otro lado, una instancia de una clase es otra forma de llamar a un objeto. En realidad no existe diferencia entre un objeto y una instancia. Sólo que el objeto es un término más general, pero los objetos y las instancias son ambas representación de una clase.
Entender que es un objeto es la clave para entender cualquier lenguaje orientado a objetos.
Tomemos como ejemplo un ordenador. No necesitamos ser expertos para saber que un ordenador está compuesta internamente por varios componentes: placa base, procesador, disco duro, tarjeta de video, etc…
El trabajo en conjunto de todos estos componentes hace funcionar un ordenador, sin embargo no necesitamos saber cómo trabajan cada uno de estos componentes. Cada componente es una unidad autónoma, y todo lo que necesitamos saber es cómo interactúan entre sí los componentes, saber por ejemplo si el procesador y las memorias son compatibles con la placa base, o conocer donde se coloca la tarjeta de video. Cuando conocemos como interaccionan los componentes entre sí, podremos armar fácilmente un ordenador.
¿Que tiene que ver esto con la programación? La programacion orientada a objetos trabaja de esta manera. Todo el programa está construido en base a diferentes componentes (objetos), cada uno tiene un rol específico en el programa y todos los componentes pueden comunicarse entre ellos de formas predefinidas.
Todo objeto del mundo real tiene 2 componentes: variables de clase y métodos.
Por ejemplo, los automóviles pueden tener como variables de clase (marca, modelo, color, velocidad máxima, etc.) y como métodos (frenar, acelerar, retroceder, llenar combustible, cambiar llantas, etc.).
Los objetos de Software, al igual que los objetos del mundo real, también tienen variables de clase y métodos. Un objeto de software mantiene sus características en una o más “variables”, e implementa su comportamiento con “métodos”. Un método es una función o subrutina asociada a un objeto.
Imaginemos que tenemos aparcado en el garaje un Ford Focus color azul que corre hasta 260 km/h. Si pasamos ese objeto del mundo real al mundo del software, tendremos un objeto Automóvil con sus características predeterminadas:
Marca = Ford
Por lo tanto dentro de una clase tendremos como variables de clase las características descritas anteriormente y como métodos tendremos en este caso concreto (frenar, acelerar, retroceder, llenar combustible, etc…).
Vamos a ver un ejemplo práctico de como se hace esto en Java:
Para ello
activamos Netbeans y aperturamos un nuevo proyecto
Java-àjava aplication
Damos nombre a
nuestro proyecto , al crear la clase le
damos como extensión main
Pulsamos clic
sobre <finsh> luego se activa la
siguiente pantalla donde usted podrá eliminar las líneas de comentarios debe
quedar de la siguiente manera
Proceder a crear
la clase para ello sobre source packetg à packeg
botón derecho del mouse
Creamos la clase
dando un nombre a la clase (el
operaciones aritméticas)
Pulsar clic sobre
finish
Se muestra el
paqute con la clase
Procedemos a
crear nuestro constructor y modulo
Dentro de la
clase definimos nuestras variables
indicando el tipo e iniciamos nuestras variable
Por ejemplo int dato1=0, dato2=0, resultado=0;
Luego creamos un constructor para ello
escribimos
public operaciones(){
}
procedemos a crear metodos para ello tener en cuenta
set= corresponde a asignar
get= obtener
entonces para ello digitados public el tipo de método seguido del nombre y entre
paréntesis defina las variables de entrada con su tipo dentro de las llaves digitados las instrucciones del método , indicando la asignación y usando this.
podra usted llamar a las variables e instruciones definidas this significa ene este formulario.
public void setSuma( int a, int b){
this.dato1=a;
this.dato2=b
this.resultado=dato1+dato2;
}
retornamos a nuestro main y procedemos a crear nuestro objeto de operaciones
para ello dentro del main. java vamos a crear nuestro objeto para ello de la clase operaciones creamos el nombre de nuestro objeto op que va new (nuevo) metodos, con el nombre de nuestro objeto llamas los metodos
operaciones op=new operaciones();
No hay comentarios:
Publicar un comentario