Fundamentos de Programación Orientada a Objetos
Que es?
Es la metodología que define los programas en términos como:
Objetos
Agrupa sus propias características, como campos y métodos
Campos
Es la característica del objeto, que define su estructura y ayuda a diferenciarlo de otros objetos. Se define con un identificador y un tipo el cual indica los valores que puede almacenar
Métodos
Es el algoritmo que se implementa y que representa una operación o función que el objeto realiza.
Cuales son sus características?
Jerarquización
Aquí se produce la organización de los elementos en grados o niveles de responsabilidad, importancia o composición.
Abstracción
Donde se extraen las características esenciales, ignorando detalles innecesarios
Modularización
Se trata de descomponer el sistema en conjuntos o piezas independientes con propio significado.
Encapsulamiento
Aquí se reúnen los elementos que se consideren pertenecientes a la misma entidad.
Polimorfismo
Es la capacidad que tienen los objetos de una clase de responder a un evento en función de los parámetros utilizados durante su llamado.
Herencia
Esta permite que se puedan definir nuevas clases con bases a las clases ya existentes con la finalidad de reutilizar el código.
Sus elementos fundamentales son:
Objetos
Que es?
Es una entidad dentro del programa de una computadora que consta de un estado y un comportamiento, pero a su vez constan de datos almacenados y tareas realizables.
Cuales son sus características?
Clase
Define la propiedad y el comportamiento del objeto
Atributo
Define las características individuales del objeto.
Mensaje
Es la comunicación dirigida al objeto indicando que ejecute uno de sus métodos.
Método
El algoritmo o la instrucción que tiene el objeto
Clases
Que es?
Son objetos que se comunican entre si intercambiando mensajes, estas se relacionan con los objetos ya que la clase es una declaración del tipo objeto.
Su definición puede ser:
Estructural
Donde se define el estado y el comportamientos que tendrán los objetos de esa clase.
Propósito de creación
Donde se define la creación de nuevos objetos.
Declaración de clases
Modificadores de clase
public
Hace que la clase sea accesible desde otro paquete
abstract
Define clases que no se instancian
final
Define clases que no se extienden con subclases
Clausula extends
Define la superclase de la clase definida por defecto "Object"
Clausula implements
Define los interfaces que se implementan en la clase
Metaclases
Que es?
Principalmente es la clase de una clase, esta funciona detrás del programa y nunca es vista por el usuario
Se clasifican en sistemas de:
1 nivel
Solo hay objetos, no existen ni clases ni metaclases
3 niveles
Todos los objetos son instancias de una clase y todas las clases son instancias de una metaclase.
2 niveles
Solo existen clases y objetos, no hay soporte para metaclases.
5 niveles
Objetos, clases, clases de clases, metaclases y cases de metaclases