Programación Orientada a Objetos (POO) Maria Josefa Serrato

Comienza Ya. Es Gratis
ó regístrate con tu dirección de correo electrónico
Programación Orientada a Objetos (POO) Maria Josefa Serrato por Mind Map: Programación Orientada a  Objetos  (POO) Maria Josefa Serrato

1. Clases Las clases son uno de los principales componentes de un lenguaje de programación, pues en ellas ocurren todos los procesos lógicos requeridos para un sistema, en si podemos definirlas como estructuras que representan objetos del mundo real, tomando como objetos a personas, lugares o cosas, en general las clases de propiedades, comportamientos y relaciones con otras clases del sistema. (Ver Ejemplo ...) una clase se compone por tres partes fundamentales: Nombre: Contiene el Nombre de la Clase. Atributos: Representan las propiedades que caracterizan la clase. Métodos: Representan el comportamiento u operaciones, la forma como interactúa la clase con su entorno. En java se representa así: / ** Principal define el nombre de la Clase * / public class Principal {public String atributo = "Esto es un atributo";

2. La Programación Orientada a Objetos (POO, en español; OOP, según sus iniciales en inglés) es un paradigma de programación que viene a innovar la forma de obtener resultados. Los objetos manipulados los datos de entrada para la obtención de datos de salida específicos, donde cada objeto ofrece una funcionalidad especial.

2.1. La programación orientada a Objetos definidos define una serie de conceptos y técnicas de programación para representar acciones o cosas de la vida real basada en objetos, una diferencia de otras formas de programación como por ejemplo la estructurada, con la POO trabajamos de manera distinta vinculando diferentes conceptos tales como clases, objetos, métodos, propiedades, estados, herencia, encapsulación entre otros, generando cada vez interrelaciones en nuestro desarrollo en pro del funcionamiento del sistema principal, definiendo el programa como un conjunto de estos objetos relacionados entre sí.

3. Herencia

3.1. La herencia en java representa lo que conocemos de herencia en el mundo real, básicamente mediante esta obtenemos las características o rasgos comunes de nuestros padres o abuelos, en java es el mismo enfoque permitiendo la creación de nuevas clases basadas en clases ya existentes, con las cuales podemos obtener las características de las clases padres, heredando campos, atributos, métodos o funcionalidades. En Java solo se puede heredar de una sola clase padre y se representa mediante la palabra extends

4. Conceptos principales

4.1. Clase, objeto, UML, características, origen y conceptos.

5. Objeto

5.1. Conceptos

5.1.1. Los objetos representados en una entidad concreta o abstracta del mundo real, en programación determinada se conoce como la instancia de una clase en si es lo que da el sentido a estas. Al igual que las clases se componen de tres partes fundamentales: Estado: Representante de los atributos o características con valores concretos del objeto. Comportamiento: Se define por los métodos u operaciones que se pueden realizar con el. Identidad: es la propiedad única que representa el objeto y la diferencia del resto. en la imagen, los moldes representan las clases, mientras que las galletas obtenidas de estos moldes representan los objetos instancias de estas clases, por ejemplo, los atributos del objeto galleta podría ser sabor, color, tamaño, etc. En java se representa creando una instancia de la clase por medio de la palabra nuevo al hacer eso creamos el objeto de la clase y podemos hacer uso de los métodos o atributos de esta (parámetros de la visibilidad de los mismos) por medio de un punto (.) así: / ** Creamos el objeto como instancia de la clase Principal * / Principal miObjeto = new Principal (); miObjeto.atributo = "Este es el nuevo valor del atributo para el objeto"; miObjeto.metodo ();

6. Clases:

7. Encapsulamiento.

7.1. Encapsulamiento. Este concepto es uno de los mas importantes en términos de seguridad dentro de nuestra aplicación, la encapsulación es la forma de proteger nuestros datos dentro del sistema, estableciendo básicamente los permisos o niveles de visibilidad o acceso de nuestros datos Se representa por 3 niveles : Público: Se puede acceder a todos los atributos o métodos de la clase. Protegido: Se puede acceder a los atributos o métodos solo en la misma jerarquía de herencia. Privado: Solo se puede acceder a los atributos o métodos de la clase en la que se encuentran. con la Encapsulación mantenemos nuestros datos seguros, ya que podemos evitar que por ejemplo se hagan modificaciones al estado o comportamiento de un objeto desde una clase externa, una buena practica es trabajar con métodos setter y getter que permiten manipular nuestros datos de forma segura.

8. Cases abstractas

8.1. Clases Abstractas. La abstracción permite resaltar la parte mas representativa de algo, ignorando detalles para centrarse en lo principal. La imagen es muy fácil de identificar, con base a ella podemos crear una clase persona, o la clase hombre, humano entre otras, pero obviamente vemos que la imagen no tiene elementos como ojos, nariz, boca, rostro en general, ni dedos, pies, manos o cuello....... pero entonces porque decimos que es una persona?.........Precisamente aquí estamos aplicando el concepto de abstracción, ya que nos fijamos en lo mas representativo de algo, en este caso vemos que se tiene una cabeza, tronco, brazos y pies, con esto es suficiente para saber que es una persona sin fijarnos en los detalles mencionados anteriormente. Las clases abstractas permiten crear métodos generales con un comportamiento común para otras clases concretas sin importar sus características ni el comportamiento que usen para dichos métodos. La Abstracción en java solo tiene lógica mediante la Herencia, ya que una clase abstracta posee al menos un método abstracto el cual no tiene implementación, el comportamiento de estos métodos lo definen las clases concretas que lo hereden. Podemos usarlos cuando existan varias clases con características o acciones comunes pero con diferentes comportamientos..............mediante el uso de la herencia y componentes abstractos hacemos mas óptima y organizada nuestra aplicación. (hay que tener en cuenta que a diferencia de las clases concretas, las clases abstractas no se pueden instanciar).

9. Interfaces

9.1. Interfaces Las interfaces de hijo el mecanismo m Que utilizació Java para simular la herencia múltiple, de Como mencionamos en Java en solitario Se Puede extensor de Una Sola clase, Mediante el USO de las interfaces ESTO SE Puede simular ya Que El lenguaje permite implementar el numero de las interfaces Que necesitemos, basicamente son clases completamente abstractas, es común relacionarlas con un contrato en el que se define que se debe hacer, así cada clase concreta que implementa una interfaz esta obligada a implementar todos los métodos que la compongan. las interfaces requieren lo que la clase que la implemente debe hacer, mas no la forma como lo harán. al decir que las interfaces son clases completamente abstractas significa que todos sus métodos lo son y por ende no tienen implementación, no tienen el uso de la palabra reservada abstract, ya que al ser completamente abstracto todo dentro de ella lo es, al igual que las clases abstractas la implementación de los métodos dependientes de las clases concretas que las usen. Se debe tener en cuenta que toda variable definida en una interfaz automáticamente se convierte en una constante, además tampoco se puede instanciar una interfaz.

10. Poliforsismo

10.1. Polimorfismo. Este tal vez sea uno de los conceptos de la programación orientada a objetos mas usados pero muchas veces sin saber que se aplica ya que el concepto inicialmente puede ser un poco confuso, básicamente mediante el polimorfismo programamos de forma general en lugar de hacerlo de forma especifica, se usa cuando se trabajen con la herencia y objetos de características comunes los cuales comparten la misma superClase y árbol jerárquico, al trabajar con este concepto optimizamos y simplificamos en gran medida nuestro trabajo. básicamente podemos definirlo como la capacidad que tienen los objetos de comportarse de múltiples formas sin olvidar que para esto se requiere de la herencia, en si consiste en hacer referencia a objetos de una clase que puedan tomar comportamientos de objetos descendientes de esta. con el polimorfismo usamos la generalización olvidando los detalles concretos de los objetos para centrarnos en un punto en común mediante una clase padre. Tomando como ejemplo la imagen anterior, podemos decir que un objeto de la clase FiguraGeometrica puede usarse para referirse a cualquier objeto de cualquier subClase de FiguraGeometrica.............. en otras palabras una figura geométrica puede ser un cuadro, un triángulo, un cuadrado o cualquier figura que en términos generales sea geométrica.