Mapa mental
Programación Orientada a Objetos

Conteúdo do mapa
Programación Orientada a Objetos
Conceptos básicos
- Abstracción
- Obtener las partes fundamentales de un sistema y describirlas de una manera simple y precisa
- Define características (atributos) y comportamientos (operaciones)
- Obtener las partes fundamentales de un sistema y describirlas de una manera simple y precisa
- Tipificación
- Restricción debido al tipo (clase) de un objeto, de forma que objetos de diferentes tipos no pueden intercambiarse
- Encapsulamiento
- Ocultamiento de información, que es el proceso de esconder todos los secretos de un objeto
- Normalmente, la estructura de un objeto está oculta, así como la implementación de sus métodos
- Ocultamiento de información, que es el proceso de esconder todos los secretos de un objeto
- Polimorfismo
- Al enviar el mismo mensaje (invocar el mismo método) desde distintos objetos, cada uno de estos objetos pueda responder a ese mensaje (o invocación) de forma distinta
- Jerarquía de clases
- Clasificación u ordenación de abstracciones
- Agrupar definiciones abstractas que son similares por niveles, partiendo de lo más general y descendiendo hacia lo más específico
- Utiliza la relación "es un"
- Agrupar definiciones abstractas que son similares por niveles, partiendo de lo más general y descendiendo hacia lo más específico
- Clasificación u ordenación de abstracciones
- Abstracción
Clases y objetos
- Constructor
- Inicializa los valores de los campos de un objeto al momento de su creación
- Normal
- Definido por el programador
- Por omisión
- Proporcionado por Java (mientras no exista algún constructor dado por el programador)
- Normal
- Inicializa los valores de los campos de un objeto al momento de su creación
- Objeto
- Instancia de una clase
- Método
- Conjunto de instrucciones definidas dentro de una clase
- Realizan una determinada tarea y las podemos invocar mediante un nombre
- Conjunto de instrucciones definidas dentro de una clase
- Sobrecarga de métodos
- Cuando tenemos 2 o más métodos con el mismo nombre pero con diferente definición dentro de una misma clase
- El tipo y número de argumentos determina cuál de las definiciones del método es la que se invoca
- Cuando tenemos 2 o más métodos con el mismo nombre pero con diferente definición dentro de una misma clase
- Sobrecarga de operadores
- Cuando reutilizando el mismo operador con un número de usos diferentes, y el compilador decide cómo usar ese operador dependiendo sobre qué opera
- Solo se puede utilizar con clases, no se pueden redefinir los operadores para los tipos simples predefinidos
- Cuando reutilizando el mismo operador con un número de usos diferentes, y el compilador decide cómo usar ese operador dependiendo sobre qué opera
- Atributos, miembros y bloques estáticos
- Atributos estáticos
- Su vida se extiende a lo largo de toda la ejecución del programa (siempre tiene alocado su lugar en memoria), sin necesidad de que se haya instanciado un objeto
- Miembros estáticos
- Son métodos y propiedades que residen en el objeto del constructor y no en cada uno de los objetos creados a partir de ella
- Bloques estáticos
- Son clases que requieren algún tipo de inicialización antes de que esté lista para crear objetos
- Un bloque estático se ejecuta cuando la clase se carga por primera vez
- Son clases que requieren algún tipo de inicialización antes de que esté lista para crear objetos
- Atributos estáticos
- Atributos y miembros de instancia
- Atributos de instancia
- Son los valores que caracterizan a una instancia
- Miembros de instancia
- Son las variables propias de una instancia de a clase
- Tiene un valor único, esto es, independientemente de cualquier otra instancia de la clase
- Son las variables propias de una instancia de a clase
- Atributos de instancia
- Constructor
Clase abstracta
- Cuando una clase tiene al menos un método abstracto, la clase tendrá que ser declarada como clase abstracta
- Una clase es abstracta si los comportamientos generales de la clase base no pueden ser definidos (con código)
- Métodos abstractos
- Los métodos abstractos no tienen definición (cuerpo). Solamente deben ser declarados como abstractos
- Forzosamente habrán de estar sobreescritos en las subclases
- Si una subclase no implementa un método abstracto de la superclase, tiene un método no ejecutable, lo que la fuerza a ser una subclase abstracta
- Forzosamente habrán de estar sobreescritos en las subclases
- Los métodos abstractos no tienen definición (cuerpo). Solamente deben ser declarados como abstractos
- Cuando una clase tiene al menos un método abstracto, la clase tendrá que ser declarada como clase abstracta
Interfaces
- Tipo de referencia que solamente puede contener constantes y métodos abstractos
- Los métodos son declarados como public y abstract.
- Las constantes son declaradas como public, static, y final.
- En jerarquía de clases
- Una interfaz permite relacionar dos o más jerarquías de clases distintas
- Decimos que las clases relacionadas implementan un conjunto de métodos comunes que están en la interfaz
- Una interfaz permite relacionar dos o más jerarquías de clases distintas
- Contratos
- Una interfaz es un contrato entre dos entidades
- Esto es, que una interfaz provee un servicio a una clase consumidora
- Una interfaz es un contrato entre dos entidades
- Tipo de dato
- Al declarar una interfaz, también se hace un nuevo tipo de referencia
- Pueden emplearse identificadores de interfaz en cualquier lugar donde se pueda utilizar el identificar de un tipo de dato
- Al declarar una interfaz, también se hace un nuevo tipo de referencia
- Herencia de interfaces
- Tanto la declaración de una clase, como la de una interfaz, pueden incluir la implementación de otras interfaces
- Polimorfismo en interfaces
- Podemos invocar a métodos de diferentes objetos teniendo implementaciones distintas, según el objeto al que estemos haciendo referencia
- Tipo de referencia que solamente puede contener constantes y métodos abstractos
Tipos de acceso
- Tipos de acceso en herencia de clases
- La subclase puede acceder a atributos o métodos de su clase base usando la palabra reservada super
- Tipos de acceso en herencia de clases
Agregación de clases
- Consiste en definir una clase usando objetos de otra u otras clases
- Acceso a miembros de clases agregadas
- Es posible hacerlo mediante el uso de métodos de la clase del objeto y su clase agregada
- Es posible hacerlo mediante el uso de métodos de la clase del objeto y su clase agregada
- Manejo de constructores
- Para generar un objeto que tiene una clase agregada, es necesario definir un objeto de esa misma clase antes de usar el constructor del primer objeto
- De esa forma, el objeto de la clase agregada pasará como argumento para el constructor de la primera clase
- Para generar un objeto que tiene una clase agregada, es necesario definir un objeto de esa misma clase antes de usar el constructor del primer objeto
- Acceso a miembros de clases internas o anidadas
- Para invocar el nombre de un método o atributo estático de una clase interna estática desde una clase externa, se deberá escribir tal nombre precedido por el nombre de la clase interna estática y un punto
- Clases anidadas
- Empaquetar dentro de una clase aquellas otras clases que no tienen utilidad o entidad fuera del contexto de ella
- Cuando la clase anidada no es estática, se denomina clase interior
- Empaquetar dentro de una clase aquellas otras clases que no tienen utilidad o entidad fuera del contexto de ella
- Acceso a miembros de clases agregadas
- Consiste en definir una clase usando objetos de otra u otras clases
Herencia
- Simple
- Múltiple
- Simulación de herencia múltiple en Java mediante interfaces
- Una clase puede derivar de un interface de la misma manera en que puede derivar de otra clase
- Se dice que el interface se implementa (implements), no se extiende (extends) por sus subclases
- Una clase puede implementar uno o varios interfaces en Java, pero sólo puede extender una clase
- Implementar varios interfaces en una sola clase es lo más parecido a la herencia múltiple
- Una clase puede implementar uno o varios interfaces en Java, pero sólo puede extender una clase
- Se dice que el interface se implementa (implements), no se extiende (extends) por sus subclases
- Una clase puede derivar de un interface de la misma manera en que puede derivar de otra clase
- Simple
Polimorfismos
- Los métodos en Java son polimórficos porque una misma llamada en un programa puede dar lugar a la ejecución de distintos métodos según el tipo dinámico de una variable
Forzamientos
- Upcasting
- Es cuando asignamos una referencia de una subclase a una referencia de una superclase
- Downcasting
- A partir de una referencia a una superclase hacemos referencia a una subclase
- Requiere de un cast (moldeo) explícito
- A partir de una referencia a una superclase hacemos referencia a una subclase
- Upcasting
López Lin Billy Yong Le
Imagens e arquivos do mapa
Informações
- Descrição
- Informática Mapa Mental sobre Programación Orientada a Objetos, criado por Billy Yong Le López Lin 2CV12 em 13-06-2021.
- Criado por
- Billy Yong Le López Lin 2CV12
- Visualizações
- 3
- Avaliação

