1. CONCEPTOS BÁSICOS
1.1. Paquetes
1.1.1. Es un contenedoir de Clases
1.1.2. Su sintaxis es: package MiPaquete
1.2. Clase
1.2.1. Es un tipo abstracto de dato que contiene:
1.2.1.1. Atributos
1.2.1.1.1. Son las características de la clase
1.2.1.2. Métodos
1.2.1.2.1. Son los servivios que se les incluye a la clase
1.2.2. Su sintaxis es: public class MiClase { }
1.3. Objeto
1.3.1. Es una referencia e instancia de la clase
1.3.2. Su sintaxis es: MiClase m = new MiClase ();
1.4. Métodos
1.4.1. Constructores.- Es el primer método que se ejecuta al realizar la instancia del objeto
1.4.2. Consultores.- permite retornar el valor de un atributo
1.4.3. Modificadores.- permite asignar valor a un atributo
1.4.4. Analizadores.- permite inplementar la lógica del servicio
2. CARACTERÍSTICAS
2.1. Encapsulamiento
2.1.1. Los atributos que definen propiedades propias de la clase deben tener visibilidad privada.
2.2. Recursividad
2.2.1. Permite hacer un llamado a un método desde el mismo método
2.3. Sobrecarga de Métodos
2.3.1. Permite que varios métodos en la misma clase tengan el mismo nombre
2.4. Bajo acoplamiento
2.4.1. Indica que los diferentes subsistemas deben estar unidos de forma mínima
2.5. Alta cohesión
2.5.1. Indica que las propiedades y servicios de una clase deben ser consistentes con el concepto que abstrae dicha clase
2.6. Herencia
2.6.1. Permite que se puedan definir nuevas clases en base a clases existentes con el fin de reutilizar el código
2.7. Polomorfísmo
2.7.1. Permite modificar la instancia de un objeto en tiempo de ejecución basado en una jerarquía de herencia
3. HERENCIA
3.1. Condiciones Generales
3.1.1. Una clase se deriva de otra y hereda sus atributos y métodos
3.1.2. La clase heredada puede añadir nuevos atributos y métodos
3.1.3. Para que un atributo o método sea heredado debe ser de visibilidad protected
3.1.4. Una clase solo puede derivar de una única clase
3.1.5. Es posible simular herencia múltiple con base en las interfaces
3.2. Sentencia extends
3.2.1. Permite implementar el concepto de herencia. Se incluye para que una clase herede de otra
3.2.2. Su sintaxis es: public class Estudiante extends Persona { .... }
3.3. Sentencia super
3.3.1. Es utilizada para acceder al constructor (métodos implementados) de la clase superior desde el constructor de la clase inferior
3.3.2. Su sintaxis es: public Estudiante () { super (id,nombre)}
3.4. Clases abstractas
3.4.1. Es aquella que no puede ser instanciada, es decir no se puede crear objetos de esa clase.
3.4.2. Su sintaxis es: public abstract class FiguraGeometricca { ... }
3.5. Interfaces
3.5.1. Es un tipo especial de clases que permite realizar un conjunto de declaraciones de métodos sin implementación
3.5.2. Su sintaxis es: public class MiClase implements MiInterface { ... }
4. POLIMORFISMO
4.1. Condiciones Generales
4.1.1. Permite modificar la instancia de un objeto en tiempo de ejecución
4.1.2. Se puede realizar con clases superiores normales, abstractas e interfaces.
4.1.3. Su objetivo consiste en poder accedera diferentes servicios en tiempo de ejecución sin necesidad de implementar diferentes referencias a objetos
4.1.4. Provee una gran flexibilidad en el proceso de desarrollo y ejecución de la aplicación