• Concepto
La programación orientada a objetos o POO es un paradigma de programación (propuesta tecnológica) que usa los objetos en sus interacciones, para diseñar aplicaciones y programas informáticos. Su uso se popularizó a principios de la década de los años 1990.
• En la programación orienta a objetos se tiene un conjunto o red de objetos que interactúan entre si a través de mensajes y donde cada uno de los objetos es responsables de su propio estado.
Es el medio que permite entablar la comunicación con las maquinas.
CARACTERISTICAS:
• Facilitan la tarea de programación, ya que disponen de formas adecuadas que permiten ser leídas y escritas por personas.
• Los lenguajes de programación representan en forma simbólica y en manera de un texto los códigos que podrán ser leídos por una persona.
• Son independientes de las computadoras a utilizar.• Describe el conjunto de acciones consecutivas que un equipo debe ejecutar.
• permite mayor portabilidad
El objetivo del encapsulamiento, al no permitir que un miembro de una clase sea accesible por
todo el mundo, es evitar que los usuarios de una clase realicen operaciones no
permitidas, como llamar a métodos que están pensados solamente para ser utilizados desde dentro de la clase, o asignar arbitrariamente
valores a los miembros, de tal manera que los objetos tomen un estado corrupto. Digamos
que la encapsulación sirve para:
1. Evitar errores lógicos de programación.
2. Aislar lo que el usuario de la clase necesita conocer y le es útil, de los detalles de implementación.
3. Impedir que el estado de un objeto (conjunto de valores que toman los miembros dato de ese objeto durante un intervalo de tiempo), sea erróneo.
4. Programar de una manera más elegante y minimalista.
5. Facilitar el uso de la clase al resto de los programadores.
• Encapsulamiento significa clasificar los miembros de una clase en tres categorías:
1. Privados: solamente visibles para esa clase.
2. Protegidos: visibles para esa clase y para sus clases derivadas.
3. Públicos: visibles para la clase, para sus subclases y para los clientes de la clase, es decir, para todos.
• cada objeto está aislado del exterior, es un módulo natural, y cada tipo de objeto expone una interfaz a otros objetos que especifica cómo pueden interactuar con los objetos de la clase. El aislamiento protege a las propiedades de un objeto contra su modificación por quien no tenga derecho a acceder a ellas; solamente los propios métodos internos del objeto pueden acceder a su estado. Esto asegura que otros objetos no puedan cambiar el estado interno de un objeto de manera inesperada, eliminando efectos secundarios e interacciones inesperadas.
• Algunos lenguajes relajan esto, permitiendo un acceso directo a los datos internos del objeto de una manera controlada y limitando el grado de abstracción. La aplicación entera se reduce a un agregado o rompecabezas de objetos.
Es la capacidad que tienen los objetos de una clase de responder al mismo mensaje o evento
en función de los paramentos utilizados durante su invocación.
• Dinámico: es en donde el código no incluye ningún tipo de especificación el tipo de datos.
• Estático: Es en donde los tipos a los que se aplica el polimorfismo debe ser explicitados y declarados uno por uno antes de ser utilizados.
Una interfaz en JAVA se define como una colección de métodos abstractos y
propiedades. En ellas se especifica qué se debe hacer pero no su implementación. Serán las clases que implementen estas interfaces las
que describan la lógica del comportamiento de los métodos.
• En el lenguaje de programación de JAVA, una interfaz es un conjunto de requisitos que deben satisfacer las clases que se ajusten a esa interfaz, además de que las interfaces no se pueden instanciar haciendo así que sus métodos deban ser re-escritos por la clase que lo implemente. Otro aspecto importante de las interfaces en JAVA es que todos los métodos son automáticamente públicos entonces no es necesario declararlo.
• Para hacer que una clase implemente a una interfaz, se dan dos pasos:
1. Se declara que la clase tiene intención de implementar la interfaz dada.
2. Se proporcionan definiciones para todos los métodos de la interfaz
El aspecto que tiene una interfaz Comparable es el siguiente en JAVA
Ejemplo:
Public interface Comparable{Int compareTo(Object otro);}
Es una plantilla para un objeto. Por lo tanto define la estructura de un objeto y su interfaz funcional, en
forma de métodos.
Una clase define la forma y comportamiento de un objeto..
Los objetos software son conceptualmente similares a los objetos del mundo real: también
consisten de estado y comportamiento. Un objeto almacena
su estado en campos y muestra su comportamiento a través de métodos.
Los datos se encapsulan dentro de una clase declarando variables
dentro de las llaves de apertura y cierre de la declaración de la
clase, variables que se conocen como atributos.
Clase MiPunto, con dos atributos enteros llamados x e y.
class MiPunto {int x, y;
}
Operan sobre el estado interno del objeto y sirven como el mecanismo principal para la comunicación entre
objetos.
-Métodos de objeto
-Métodos de clase(static)
-Métodos sobrecargados(overloaded)
Métodos de objeto: Se aplican siempre a un objeto de la clase por medio del operador punto (.). Dicho objeto es su argumento implícito.
Métodos de clase (static): No actúan sobre objetos concretos a través del operador punto.
Métodos sobrecargados (overloaded):
Tienen el mismo nombre, pero que se diferencian por el número y/o tipo de los argumentos.