Fundamentos de la programación orientada a objetos
Pilares
La POO tiene varios pilares para asegurar la simplicidad de código y su re utilización, y aunque diversos autores señalan diversos pilares, en este documento se considerarán los cuatro que son comunes en la mayoría de textos, estos son: Abstracción, Encapsulamiento, Herencia y Polimorfismo, las dos primeras están más relacionadas con la búsqueda de códigos simples y las dos siguientes con la reutilización.

ABSTRACCIÓN
Es el pilar de la POO, que permite identificar las características y comportamientos de un objeto y con los cuales se construirá la clase (plantilla). Esto quiere decir que a través de este pilar o fundamento es posible reconocer los atributos y métodos de un objeto.
ENCAPSULAMIENTO
Es la característica de la POO que permite el ocultamiento de la complejidad del código, pertenece a la parte privada de la clase y que no puede ser vista desde ningún otro programa.
HERENCIA
Es el pilar más fuerte que asegura la reutilización de código, ya que a partir de esta característica es posible reutilizar (heredar) las características y comportamientos de una clase superior llamada clase padre, a sus clases hijas, denominadas clases derivadas. Esto implica que una vez desarrollado el código de una clase base, su código puede ser reutilizado por las clases derivadas.
POLIMORFISMO
A través de esta característica es posible definir varios métodos o comportamientos de un objeto bajo un mismo nombre, de forma tal que es posible modificar los parámetros del método, o reescribir su funcionamiento, o incrementar más funcionalidades a un método.
CLASE
Las clases en Java son básicamente una plantilla que sirve para crear un objeto.Especifica los datos y el código que operará en esos datos. Java usa una especificación de clase para construir objetos. Los objetos son instancias de una clase. Por lo tanto, una clase es esencialmente un conjunto de planes que especifican cómo construir un objeto.
COMPONENTES DE UNA CLASE
Atributos: Todas aquellas propiedades que definen a una clase, por ejemplo si fuera una cuenta bancaria sus atributos serían numero de cuenta, saldo y propietario.
Métodos: Son las operaciones que pueden realizarse en dicha clase en el ejemplo una cuenta bancaria puede consultar su saldo, retirar dinero e ingresar dinero.
Parámetros y argumentos
Un parámetro representa un valor que el procedimiento espera que se pase al llamarla. La declaración del procedimiento define sus parámetros.El nombre de cada parámetro actúa como un variable local en el procedimiento. Utilice el nombre del parámetro de la misma manera que usa cualquier otra variable.Un argumento representa el valor que se pasa a un parámetro de procedimiento cuando se llama al procedimiento. El código de llamada proporciona los argumentos cuando llama al procedimiento.A diferencia de la definición de parámetro, argumentos no tienen nombres. Cada argumento es una expresión, que puede contener cero o más variables, constantes y literales. El tipo de datos de la expresión evaluada normalmente debe coincidir con el tipo de datos definido para el parámetro correspondiente, y en cualquier caso, debe poder convertirse al tipo de parámetro.
Métodos con retorno y sin retorno

Los métodos sin retorno son los cuales no nos retornan ningún dato en especifico o no podemos obtenerlo directamente. Ejemplo de sintaxis.

Los métodos con retorno, nos proporcionan un tipo o dato en especifico, como en el ejemplo el método realiza el proceso y nos da el valor de nombre.
Métodos de acceso (getter y setter)
Los Setters & Getters son métodos de acceso lo que indica que son siempre declarados públicos, y nos sirven para dos cosas:
Setters: Del Inglés Set, que significa establecer, pues nos sirve para asignar un valor inicial a un atributo, pero de forma explícita, además el Setter nunca retorna nada (Siempre es void), y solo nos permite dar acceso público a ciertos atributos que deseemos el usuario pueda modificar.
Getters: Del Inglés Get, que significa obtener, pues nos sirve para obtener (recuperar o acceder) el valor ya asignado a un atributo y utilizarlo para cierto método.

Métodos de Clase e Instancia
Los métodos de clase , cambian en su sintaxis ya que estos llevan la palabra clave static y no hay necesidad de instanciar la clase en la que se encuentran y se puede hacer referencia a ellos.los métodos de instancia son los que utilizamos normalmente, cuando los llamamos tenemos que instanciar la clase y luego poner el nombre del método y así poder hacer referencia a el.
Resumen:

Constructor en POO
Un Constructor es una función, método, etc, de las clases, la cual es llamada automáticamente cuando se crea un objeto de esa clase.
Por ser métodos, los constructores también aceptan parámetros. Cuando en una clase no especificamos ningún tipo de constructor, el compilador añade uno público por omisión sin parámetros, el cual NO hace nada.

Sobre carga de métodos
La firma de un método es la combinación del nombre y los tipos de los parámetros o argumentos.
La sobrecarga de métodos es la creación de varios métodos con el mismo nombre pero con diferente lista de tipos de parámetros. Java utiliza el número y tipo de parámetros para seleccionar cuál definición de método ejecutar.
La sobrecarga de métodos es la creación de varios métodos con el mismo nombre pero con diferente lista de tipos de parámetros. Java utiliza el número y tipo de parámetros para seleccionar cuál definición de método ejecutar.

Modificadores de acceso

Método Abstracto
Un método abstracto es un método declarado pero no implementado, es decir, es un método del que solo se escribe su nombre, parámetros y tipo devuelto pero no su código.
Los métodos abstractos se escriben sin llaves {} y con ; al final de la declaración.
Los métodos abstractos se escriben sin llaves {} y con ; al final de la declaración.
Por ejemplo:
public abstract area();
Un método se declara como abstracto porque en ese momento (en esa clase) no se conoce cómo va a ser su implementación.
Por ejemplo: A partir de una clase Polígono se pueden derivar las clases Rectángulo y Triángulo. Ambas clases derivadas usarán un método área. Podemos declararlo en Figura como abstracto y dejar que cada clase lo implemente según sus necesidades.
Al incluir el método abstracto en la clase base se obliga a que todas las clases derivadas lo sobrescriban con el mismo formato utilizado en la declaración.
Si una clase contiene un método abstracto se convierte en clase abstracta y debe ser declarada como tal.
La forma general de declarar un método abstracto en Java es:[modificador] abstract tipoDevuelto nombreMetodo([parámetros]);
Comentarios
Publicar un comentario