PRINCIPIOS DE LA PROGRAMACIÓN ORIENTADA A OBJETOS
DEFINICIÓN
Consiste en crear entidades responsables de la información que contienen y que guardan un comportamiento.
Se agrupan por sus características en clases que mantienen el estado de cada elemento (información del objeto en atributos),
La información almacenada en el objeto debe estar celosamente resguardada y no debe ser vista o modificarse.
Si no es a través de métodos que garanticen su integridad, a lo que se conoce como encapsulamiento.
El comportamiento o los mecanismos de interacción con el exterior (métodos) de las partes pertinentes dentro del problema que se desea modelar (abstracción).
ABSTRACCIÓN
La información de los elementos que intervienen en un sistema de cómputo se agrupa en clases.
La información almacenada se modela con atributos o campos en la definición del tipo de dato (clase).
Un segundo elemento que tienen las clases se refiere a los métodos comunes (código o conjuntos de instrucciones).
Los métodos, también se conocen en otros lenguajes como subrutinas, subprocesos, procedimientos o funciones.
o conjuntos de tipo de elementos que pueden interactuar con el programa desarrollado.
El contenido de todos estos datos se conoce como estado del objeto; es decir, qué información tiene almacenada el objeto en cada momento.
Bajo el principio de abstracción, debe entenderse que no se van a modelar los elementos de la vida real en su totalidad
El principio de abstracción consiste en modelar de atributos y métodos pertinentes en clases y objetos en un sistema que sean referentes al problema que se quiere resolver.
CLASES Y OBJETOS
Una Clase es una especie de plantilla o molde que contiene la definición de entidades del mundo real que se modelan en un sistema.
La declaración normal de una clase permite colocar en cualquier orden los atributos y los métodos.
La palabra class indica que declararemos una clase y enseguida debe ir el identificador de clase.
Podemos observar que puede no haber ninguna declaración atributos y/o métodos.
La palabra public indica que la clase será visible o accesible.
La clase es una estructura, y las declaraciones de clase y atributos deben llevar una sangría llamada identación.
MODIFICACIDORES DE
ACCESO
Los atributos y métodos son accesibles especificando el objeto (instancia de una clase).
Java permite establecer tres niveles de acceso o visibilidad para los elementos:
public
private
protected
Un elemento público (public) puede referenciarse desde exterior mediante la notación objeto.elemento
Elementos de instancia
Se crea una copia de cada atributo cuando se crea instancia.
Cuando nos referimos a una instancia; o de la forma Clase.elemento
Los métodos de instancia sólo se aplican para cada objeto.
Cualquiera de estas tres palabras se escriben al inicio de elemento al que se le va a indicar la visibilidad.
Adicionalmente pueden definirse dos formas de inclusión de los elementos (atributos y métodos) dentro de una Clase:
de instancia, y
estáticos (static) o de clase.
ATRIBUTOS
Son la información que guarda en un momento determinado cada objeto que se instancia de una clase.
Entradas y salidas
Variables intermedias que puedan considerarse importantes mantener para no calcularlas en cada momento.
La relación que permite incorporar atributos a una clase se conoce como “agregación”.
Por eso, debe agregarse el modificador private a TODOS atributos. Esta propiedad se conoce como encapsulamiento.
Esta información, en cada momento, se conoce como estado del objeto.
Constantes, como el valor de π
o el número máximo de intentos que puede introducirse una contraseña o el número máximo.
Segundo principio de la Programación Orientada a Objetos todos los atributos no deben ser accesibles desde el exterior de la clase u objeto.
Entradas y salidas
En un programa de cómputo, al menos la información que se conoce como datos de entrada y salidas o resultados deberían ser como atributos.
Atributos intermedios
En algunas ocasiones, es necesario guardar cierta información intermedia como parte del proceso.
utilizando los métodos getters (obtener) y setters (asignar) información a partir del segundo principio de la programación orientada a objetos conocido como encapsulamiento.
Las constantes nos permiten generar identificadores para guardar valores que deben mantenerse unificados a lo largo de una aplicación.
MÉTODOS
Los métodos nos permiten realizar acciones con los objetos de una clase.
Existen los siguientes tipos de métodos:
Recuperación del estado del objeto (información guardada en los atributos).
Modificación del estado del objeto (información guardada en los atributos).
Getters
Por el principio de encapsulamiento, los datos que se encuentran almacenados en una instancia u objeto de una clase están protegidos del acceso.
Para los getters que regresan valores booleanos, en algunos métodos estándar de Java se sustituye el verbo «get» por el verbo «is».
Existe ya que es parte de la información que se tiene modelada por el (primer) principio de abstracción de la programación orientada a objetos.
La visibilidad normalmente se define pública (public) para el método, a diferencia del atributo que se mantiene privado (private).
Mensaje y comportamiento
Una vez que se garantiza como recuperar información (getters) y cómo modificar los atributos (setters) de un objeto se procede a realizar la codificación del comportamiento del objeto.
Mensajes enviados al objeto para solicitar que realicen determinada acción (comportamiento del objeto).
Creación, construcción o instanciación de un objeto de una clase en la memoria de la computadora.
La visibilidad normalmente se define pública (public) para el método, a diferencia del atributo que se mantiene privado (private).
Atributos calculados
El (segundo) principio de encapsulamiento indica que todos los atributos, y opcionalmente algunos métodos, deben permanecer ocultos.
Setters
De manera análoga a los getters, por el principio de encapsulamiento, los datos que se encuentran almacenados en una instancia u objeto de una clase están protegidos.
Los setters no tienen tipo de retorno y se coloca en su ligar la palabra void.
Los métodos se programan con verbos y suele no incluirse el nombre de la clase.
Un método set, también se le llama «setter». Este verbo set se escribe previo al nombre del atributo, el cual debe capitalizarse (poner la primera letra en mayúsculas).
La función principal de los setters es modificar el valor de un atributo, sin embargo es necesario verificar que los datos asignados sean correctos.
Fuera de los getters y los setters, se colocan otros métodos dentro del dominio del problema.
HERENCIA
El cual es un mecanismo para reutilización de clases mediante la agregación de atributos y métodos, o bien la redefinición del comportamiento.
En términos generales el mecanismo de herencia se puede entender como una especialización de características desde clases base a clases derivadas.
Java admite un sistema de herencia simple (una clase derivada tiene una clase base).
El término polimorfismo se refiere a que en una jerarquía de clases, cada objeto de una clase —ya sea una clase base o derivada.