Está en la página 1de 15

Introducción a POO

CAI 2022
• Complejidad del software
• Principios de POO
Temas • Clases y Objetos
• Relaciones
• Anexos

CAI 2022 Introducción POO 2


Complejidad del software

¿Cómo se maneja?
➢ Descomposición
Orientada a Objetos

Abstracción (esencial)

Jerarquía (clasificación)

CAI 2022 Introducción POO 3


Principios de
POO
Principios Fundamentales

1 2 3 4
ABSTRACCIÓN ENCAPSULADO MODULARIDAD JERARQUÍA
Subjetivo al interés del Separación del aspecto División de la Clasificación de
observador. interno del estado. complejidad en abstracciones.
pequeños problemas
Captar características y Oculta los detalles de más fáciles de resolver. Diferentes tipos de
funcionalidades que implementación. relaciones.
vamos a necesitar.

CAI 2022 Introducción POO 5


Clases y Objetos
¿Qué es una clase?
• Una clase sale de la observación de un
conjunto de entidades que comparten
una estructura y un comportamiento
común.
• Son una representación de una
abstracción (la esencia de un objeto).

¿Qué es un objeto?
• Es cualquier cosa, real o abstracta, que posee
una estructura que lo define y acciones que lo
controlan.
• Es la instancia de una clase.
• Es una entidad concreta que existe en tiempo
y espacio.

CAI 2022 Introducción POO 7


Características de un objeto

Identidad Estado Comportamiento


• Característica (o • Conjunto de valores • Como actúa en términos
conjunto de ellas) que estáticos y dinámicos de cambios de estado y
permite diferenciarse que adoptan los objetos paso de mensajes.
de los demás objetos en un momento dado. • Es todo aquello que el
del mismo tipo.
• Valor de un atributo objeto puede hacer.
(característica).

ACLARACIÓN ACLARACIÓN
El estado puede (o no) modificar el Una acción puede o no cambiar el
comportamiento de un objeto. (ej. estado de un objeto. (ej. El método
Si el valor de un atributo A es X, el ResolverA puede modificar el
método HacerA puede devolver Y1 atributo A o no dependiendo del
o Y2.) mensaje (parámetro) que recibe)

CAI 2022 Introducción POO 8


Relaciones
Tipos de relaciones

1 2 3
HERENCIA AGREGACIÓN ASOCIACIÓN
Jerarquía de tipo ES-UN. Jerarquía de tipo TODO-PARTE. Jerarquía de tipo TIENE-UN.
Capacidad por la cual una clase Es una relación que denota La asociación es una relación
de orden inferior puede recibir contención física. bidireccional pero no establece la
estados o acciones de una o más dirección de dependencia ni
clases de orden superior. Sus ciclos de vida están como se relacionan.
intimamente ligados.
Sirve para aumentar lo general Puede tener cualquier tipo de
(generalización) o lo particular cardinalidad.
(especialización).

CAI 2022 Introducción POO 10


Polimorfismo
• Es una relación derivada de la
herencia.

• Es la capacidad por la cual


una acción puede responder
de distinta forma de acuerdo
a la subclase que la
implementa.

CAI 2022 Introducción POO 11


Anexos
Tipos de clases
TIPO IDENTIFICADOR DESCRIPCIÓN

Concreta class Tipo de clase por defecto. Es instanciable.

Es un tipo de clase que SÓLO se puede heredar. No


Abstracta abstract class
puede ser instanciada.

Sellada sealed class Es un tipo de clase que NO puede ser extendida.

Es un tipo de clase que no hace falta instanciarla


Estática static class
para acceder a sus métodos.

CAI 2022 Introducción POO 13


Tipos de visibilidad
TIPO IDENTIFICADOR DESCRIPCIÓN

Cualquier clasificador externo con visibilidad hacia


Pública public
el clasificador dado puede utilizar la característica.

Protegida protected La característica es visible para CUALQUIER hijo.

Sólo el propio clasificador puede utilizar la


Privada private
característica.

De paquete internal Visible para clasificadores del mismo paquete.

CAI 2022 Introducción POO 14


Gracias ¿Consultas?

CAI 2022 Introducción POO 15

También podría gustarte