Zusammenfassung der Ressource
Fundamentos POO
- Abstracción
- Consiste en obtener las partes
fundamentales de un sistema
y describirlas de una manera
simple y precisa.
- Denota las características
esenciales de un objeto que lo
distinguen de otros tipos de
objetos. Este proceso siempre es
relativo al observador
- Encapsulamiento
- Oculta los detalle de la
implementación interna de
una clase
- Los usuarios solo tienen acceso a la
interfaz pública de la clase y sus
funcionalidades
- Estandar
- Abierto
- Se puede acceder a la clase
desde cualquier parte
- Protegido
- Solo se puede acceder desde la
clase y las que ésta hereda
- Semi
cerrado
- Solo accesible desde la clase heredada
- Cerrado
- Solo accesible desde la clase
- Modularidad
- Es la organización del código en diferentes
componentes que cumplen funcionalidades
específicas
- Los componentes deben interactuar
correctamente para que el sistema
funcione como esta planeado
- Tipificación
- Permite la agrupación
de objetos en tipos
- Jerarquía de clases
- Consiste en agrupar definiciones abstractas que son
similares por niveles, partiendo de lo más general hasta
lo más específico
- Utiliza la relación "es un"
- Polimorfismo
- Es la capacidad de referirse a objetos de
clases distintas en una jerarquía utilizando
el mismo elemento de programa (método)
para realizar la misma operación, pero de
manera diferente.
- Relaciones de clases
- Asociación
- Simple
- Inversa
- Reflexiva
- Agregación
- Herencia
- Especificación
- Generalización
- Dependencia
- Cuentan con multiplicidad,
es decir, cuántos objetos de
cada tipo intervienen en la
relacion
- Conceptos de la POO
- Clase
- Una clase es un prototipo (plantilla) que contiene una colección de
datos (atributos) y un conjunto de métodos (comportamiento) que
manipulan los datos o que interactúan con objetos relacionados.
- Métodos (Comportamiento)
- Atributos (Datos)
- Objeto
- Es una instancia de la clase
- Sobrecarga de Métodos
- Definir un método mas de una vez dentro de una
misma clase; la forma de identificar cuál de los métodos es el
referido será con base en el número y tipo de sus argumentos.
- Sobrecarga de Operadores
- Modificar los operadores para que cumplan una doble funcionalidad:
soportan operaciones con operandos de tipos de datos primitivos del
lenguaje, y además soportan operaciones con operandos de tipos de datos
definidos por el usuario (clases), siempre y cuando éstos estén definidos.
- Constructores
- Un construtor es un conjunto de instrucciones utilizadas para inicializar la instancia de una clase.
- Constructor por omisión
- En caso de no definir ningún constructor el objeto utilizará el constructor por omisión proporcionado
por el lenguaje de programación utilizado.
- Un constructor siempre tiene el mismo nombre de la clase
- Es posible definir uno o más constructores en una misma clase.
- Redefinición de Métodos
- Miembros estáticos
- Significa que solo se tendrá una sola copia de la variable declarada como static, esto es, las instancias de la
clase no tendrán ninguna copia.
- Formas de acceso
- Public
- Permite a acceder al elemento desde cualquier
clase, independientemente de que esta pertenezca
o no al paquete en que se encuentra el elemento.
- Private
- Es el modificador más restrictivo y especifica que los
elementos que lo utilizan sólo pueden ser accedidos
desde la misma clase en la que se encuentran.
- Protected
- Indica que los elementos sólo pueden ser accedidos desde su mismo
paquete y desde cualquier clase que extienda la clase en que se encuentra,
independientemente de si esta se encuentra en el mismo paquete o no.
- Default
- Si no elegimos ningún modificador, se usa el de por defecto, que sólo
puede ser accedido por clases que están en el mismo paquete.
- Clase abstracta
- Este Tipo de Clases nos permiten crear “método generales”, que recrean
un comportamiento común, pero sin especificar cómo lo hacen.
- Estas clases como son generalidades no pueden ser instanciadas por ningún
objeto (se dice que su nivel de abstracción es demasiado alto), entonces su
único fin es ser heredado/extendido por otras clases.
- Métodos abstractos
- Un método abstracto es un método declarado pero no implementado, es decir, es un
método del que solo se escribe su nombre, parámetros y tipo devuelto pero no su código.
Los métodos abstractos se escriben sin llaves {} y con ; al final de la declaración.