
1. PROPIEDADES
1.1. Encapsulamiento
1.1.1. Permite incluir en un mismo espacio los elementos identificables en un objeto, los que constituyen su información (los datos o atributos) y las operaciones (los métodos o funciones) que operan sobre esa información.
1.2. Modularidad
1.2.1. Permite subdividir una aplicación en partes más pequeñas (llamadas módulos), cada una de las cuales debe ser tan independiente como sea posible de la aplicación en sí y de las partes restantes.
1.3. Jerarquización
1.3.1. La jerarquía es el esquema organizativo de las clases con relación de herencia entre sí y permite organizar en un problema determinado las clases identificadas.
1.4. Polimorfismo
1.4.1. Propiedad que indica que un elemento puede tomar diferentes formas y permite modificar la instancia de un objeto en un tiempo de ejecución basado en una jerarquía de herencia.
1.5. Sobrecarga
1.5.1. Permite que varios métodos en la misma clase tengan el mismo nombre pero con diferente lista de tipos de parámetros.
1.6. Persistencia
1.6.1. Propiedad que permite a un objeto sobrevivir a la ejecución del programa que lo crea y lo manipula.
2. DEFINICIONES DEL ENFOQUE DE OBJETOS
2.1. Clase
2.1.1. Es un tipo de dato abstracto que contiene:
2.1.1.1. Atributos
2.1.1.1.1. Son las características que tiene la clase
2.1.1.2. Métodos
2.1.1.2.1. Algoritmo que representa una operación.
2.1.1.2.2. Constructores: Es el primer método que se ejecuta al realizar la instancia del objeto.
2.1.1.2.3. Consultores: Permite retornar el valor del atributo.
2.1.1.2.4. Modificadores: Permite asignar valor a un atributo.
2.1.1.2.5. Analizadores: Permite implementar la lógica de la operación.
2.1.1.3. :flag-co: Su sintaxis es: public class miClase { }
2.1.2. Objeto
2.1.2.1. Es una referencia e instancia de la clase
2.1.2.2. :gorilla: Su sintaxis es: MiClase m = new MiClase( );
3. POLIMORFISMO
3.1. Condiciones Generales
3.1.1. Permite modificar la instancia de un objeto en tiempo de ejecución
3.1.2. Se puede realizar con clases superiores normales, abstractas e interfaces.
3.1.3. Su objetivo consiste en poder accedera diferentes servicios en tiempo de ejecución sin necesidad de implementar diferentes referencias a objetos
3.1.4. Provee una gran flexibilidad en el proceso de desarrollo y ejecución de la aplicación
4. HERENCIA
4.1. Condiciones Generales
4.1.1. Una clase se deriva de otra y hereda sus atributos y métodos.
4.1.2. La clase heredada puede añadir nuevos atributos y métodos.
4.1.3. Una clase solo puede derivar de una única clase.
4.1.4. Es posible simular herencia múltiple con base en las interfaces.
4.2. Sentencia extends
4.2.1. Permite implementar el concepto de herencia. Se incluye para que una clase herede de otra.
4.2.2. :fist: : Su sintaxis es: public class Estudiante extends Persona { ... }
4.3. Sentencia super
4.3.1. Es utilizada para acceder al constructor (métodos implementados) de la clase superior desde el constructor de la clase inferior.
4.3.2. :cat2: Su sintaxis es: public Estudiante( ) { super (id,nombre)}
4.4. Clases Abstractas
4.4.1. Es aquella que no puede ser instanciada, es decir no se puede crear objetos de esa clase.
4.4.2. :tiger: Su sintaxis es: public abstract class FiguraGeometricca { ... }
4.5. Interfaces
4.5.1. Es un tipo especial de clases que permite realizar un conjunto de declaraciones de métodos sin implementación.
4.5.2. :flags: Su sintaxis es: public class MiClase implements MiInterfaz { ... }