Java orientado a objetos
La programación orientada a objetos o POO, es un paradigma de programación que usa los objetos en sus interacciones, para diseñar aplicaciones y programas informáticos. Está basado en varias técnicas, incluyendo herencia, cohesión, abstracción, polimorfismo, acoplamientos y encapsulamiento. Su uso se popularizó a principios de la década de los años 1990. En la actualidad, existe gran variedad de lenguajes de programación que soportan la orientación a objetos
Polimorfismo
El polimorfismo es uno de los 4 pilares del a programación orientada a objetos, junto con la Abstracción, Encapsulamiento y Herencia. "Polimorfismo" Es una palabra de origen griego que significa "Muchas formas". Se utiliza en la POO para referirse a la propiedad por la que es posible enviar mensajes sintácticamente iguales a objetos de tipos distintos.
El polimorfismo consiste en obtener un método con diferentes funciones, es decir, suponiendo que tengamos una clase Saludos con el método Saludo el cual sería su constructor, pero en este caso tendríamos varios constructores pero siempre siguiendo las reglas de independencia en cuestión a los parámetros de cada constructor para que así puedan diferenciarse uno de otro, sin embargo cada uno tendrá diferentes procesos internos en sí mismo.
Un ejemplo en java:
Herencia
¿Que significa herencia?
La herencia es un mecanismo que permite la definición de una clase a partir de la definición de otra ya existente. La herencia permite compartir automáticamente métodos y datos entre clases, subclases y objetos.
Ejemplo:
Codigo
SuperClase
public class SeleccionFutbol
{
protected int id;
protected String Nombre;
protected String Apellidos;
protected int Edad;
// constructor, getter y setter
public void Concentrarse() {
...
}
public void Viajar() {
...
}
}
Clases Hijas
public class Futbolista extends SeleccionFutbol
{
private int dorsal;
private String demarcacion;
public Futbolista() {
super();
}
// getter y setter
public void jugarPartido() {
...
}
public void entrenar() {
...
}
}
--------------------------------------------------------------------------------
public class Entrenador extends SeleccionFutbol
{
private String idFederacion;
public Entrenador() {
super();
}
// getter y setter
public void dirigirPartido() {
...
}
public void dirigirEntreno() {
...
}
}
--------------------------------------------------------------------------------
public class Masajista extends SeleccionFutbol
{
private String Titulacion;
private int aniosExperiencia;
public Masajista() {
super();
}
// getter y setter
public void darMasaje() {
...
}
}
Encapsulamiento
Como java es un lenguaje de programación orientado a objetos, existen en un programa, diversos atributos y métodos que servirán para el funcionamiento de éste. Para la interacción del usuario con el objeto es necesario que se apliquen, o se encuentren disponibles, solo aquellos métodos que le servirán al usuario para utilizar ese objeto, manteniendo “ocultos” aquellos que servirán para el funcionamiento interno.
Es por ello que el encapsulamiento consiste en permitir la visibilidad de atributos y/o métodos, en una clase determinada, teniendo así tres niveles de: privados (private) que se utilizaran solo en esa clase, protegidos (protected) que se utilizaran por todas los métodos, clases y /o atributos mientras se encuentre en el mismo package, y los públicos (public) que pueden ser usados por cualquier clase o método
en java:
No debe confundir Polimorfismo con Sobrecarga
ResponderEliminarVer el siguiente articulo: https://social.msdn.microsoft.com/Forums/es-ES/3b91d709-1e36-40cd-ad8a-dd8d3966728c/diferencia-entre-polimorfismo-y-sobrecarga?forum=vcses
Debe identificarse con su nombre y apellido dentro del grupo y su blog
Cada articulo que escriba, debe tener una introducción, desarrollar el tema solicitado, conclusiones y referencias bibliográficas