Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Segundo Cuatrimestre
UCSE – 2022
En que consiste la Programación
Orientada a Objetos (POO)
Programación Orientada a Objetos (POO)
La POO no es un lenguaje de
programación, es una forma
de enfrentarse a ella. Esto
significa que La POO servirá
para desarrollar en muchos
lenguajes comunes en la
actualidad
Programación Orientada a Objetos (POO)
Programación Orientada a Objetos (POO)
Ventajas de la POO:
● Reusabilidad. Si las clases se diseñaron adecuadamente, se pueden usar en distintas partes del
programa y en numerosos proyectos
● Mantenibilidad. Debido a las sencillez para abstraer el problema, los programas orientados a
objetos son más sencillos de leer y comprender, ya que permiten ocultar detalles de
implementación dejando visibles sólo aquellos detalles más relevantes
● Modificabilidad. La facilidad de añadir, suprimir o modificar nuevos objetos permite hacer
modificaciones de una forma muy sencilla
● Fiabilidad. Al dividir el problema en partes más pequeñas se puede probarlas de manera
independiente y aislar mucho más fácilmente los posibles errores que puedan surgir
Programación Orientada a Objetos (POO)
Desventajas de la POO:
● Abstracción: proceso mental para extraer características “esenciales”, ignorando detalles que no
son relevantes. Cada observador creará abstracciones diferentes para una misma realidad.
● Tienen un estado independiente del resto de las otras instancias de la misma clase
● Pueden ser simples o complejos
● Pueden ser reales o imaginarios
● El proceso de crear un objeto se conoce también como instanciar una clase
● Tienen un:
○ estado (valores de los datos en un instante dado) y
○ comportamiento (operaciones que puede realizar)
Atributos - Estado
○ Marca
○ Modelo
○ Color
○ Kilómetros
○ Año
○ Patente
Ejemplo
● Los métodos públicos: describen qué pueden hacer los objetos de una clase en
particular. En otras palabras, es lo que se quiere dejar disponible desde fuera de la
clase
Constructores:
● Son métodos pertenecientes a una clase.
● Se utilizan para construir o instanciar la misma.
● Permiten asignar valores iniciales a los atributos.
● Pueden existir varios constructores para una clase.
● Pueden tener o no parámetros, si no los tienen, se asignarán valores por defecto a los
atributos según su tipo de dato.
● En Java existe un constructor que se crea por defecto y se llama cada vez que se crea una
instancia de la clase (objeto).
Constructores y Destructores
Destructores:
● Son métodos de una clase que se ejecutan al final de todos los demás y tienen por objetivo
liberar el espacio ocupado en memoria por los atributos de un objeto.
● En Java no existen destructores, los mismos se manejan con el recolector de basura del
lenguaje, liberando memoria automáticamente.
Herencia
● La herencia es una característica que permite a las clases definirse a partir de otras, y así
reutilizar su funcionalidad
● La herencia permite definir nuevas clases en base a otras clases
● A la clase padre se le llama superclase, clase base..., y a la hija subclase, clase derivada....
● Es una relación entre clases, en la que una clase comparte la estructura y/o el comportamiento
definidos en una (herencia simple) o más clases (herencia múltiple)
● La clase de la que otras heredan se denomina “superclase”, o “clase padre”.
● La clase que hereda de una o más clases se denomina “subclase” o “clase hija”
● La herencia define una jerarquía de “tipos” entre clases, en la que una subclase hereda de una o
más superclases
Herencia
Herencia
Herencia: Nomenclatura
Polimorfismo
● El polimorfismo es la capacidad de que un mismo mensaje funcione con
diferentes objetos. Es aquél en el que el código no incluye ningún tipo de
especificación sobre el tipo concreto de objetos sobre el que se trabaja.
El método opera sobre un conjunto de posibles objetos compatibles
● En otras palabras, es la capacidad de un objeto para responder de distinto
modo ante el mismo mensaje
● Ejemplo: si se tienen las clases Auto, Barco y Avión (todas derivadas de
la clase Vehículo), y se envía un mensaje “Moverse”, cada clase sabrá
como hacerlo y cada una lo realizará de diferente manera
Polimorfismo