Entradas

Mostrando las entradas de mayo, 2018

Portada

Imagen

Polimorfismo

Imagen
El Polimorfismo es uno de los 4 pilares de la programación orientada a objetos (POO) junto con la Abstracción, Encapsulación y Herencia. "Polimorfismo" es una palabra de origen griego que significa "muchasformas". Este termino 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". En programación orientada a objetos, el polimorfismo o poliformismo se refiere a la propiedad por la que es posible enviar mensajes sintácticamente iguales a objetos de tiposdistintos. El único requisito que deben cumplir los objetos que se utilizan de manera polimórfica es saber responder al mensaje que se les envía. Algunos tipos de polimorfismo: el polimorfismo paramétrico (también llamado polimorfismo de plantillas) y el polimorfismo de inclusión (también llamado  redefinición  o  subtipado ). - Polimorfismo paramétrico:   El polimorfismo paramétrico es la capacidad ...

Interfaces

Incluye todo lo que  objetos debería ser  capaces de ofrecer. Una interfaz es un conjunto de métodos abstractos y de constantes cuya funcionalidad es la de determinar el funcionamiento de una clase, es decir, funciona como un molde o como una plantilla. Al ser sus métodos abstractos estos no tienen funcionalidad alguna, sólo se define su tipo, argumento y tipo de retorno. características de las Interfaces: Las Interfaces solo pueden tener visibilidad de package o public. Todos los métodos declarados en una Interfaz son public y abstract, si no se le indica, Java lo pondrá implícitamente. Los métodos de una Interfaz no pueden ser estáticos, ya que estos deben ser redefinidos, y al ser estáticos les sería imposible. Todos los atributos declarados en una Interfaz son "public static final" y deberán tener asignado un valor constante. Todos los nombres de constantes van en "MAYÚSCULAS". Una clase puede implementar una o ...

Estáticos

Métodos estáticos: Los métodos estáticos están restringidos en su ámbito, de tal manera que no tienen acceso a los atributos del objeto.  ·          Se cargan en memoria en tiempo de compilación y no a medida que se ejecutan las líneas de código del programa. Van precedidos del modificador static. ·          Si se invoca desde la clase en la que se encuentra definido, basta con escribir su nombre. ·          Si se le invoca desde una clase distinta, debe anteponerse a su nombre, el de la clase en la que se encuentra seguido del operador punto (.) .metodoEstatico Suelen emplearse para realizar operaciones comunes a todos los objetos de la clase. No afectan a los estados de los mismos (a los valores de sus variables de instancia). trabajan para la clase como un todo en lugar de para un objeto particular de la clase. En lugar de hacer una ...

Clases final

Imagen
La palabra clave final indica que una variable es de tipo constante: no admitirá cambios después de su declaración y asignación de valor. final determina que un atributo no puede ser sobrescrito o redefinido. O sea: no funcionará como una variable “tradicional”, sino como una constante. Toda constante declarada con final ha de ser inicializada en el mismo momento de declararla. final también se usa como palabra clave en otro contexto: una clase final (final) es aquella que no puede tener clases que la hereden. Se puede declarar una clase como final, cuando no nos interesa crear clases derivadas de dicha clase(subclases). El campo debe ser inicializado y no se puede modificar El método no se puede sobreescribir Una clase no puede ser a la vez abstract y final ya que no tiene sentido, pero sí que puede ser public abstract o public final . Ejemplo: La clase Cuadrado se puede declarar como final, ya que no se espera que ningún programador necesite crear clases derivada...

Clases Abstractas

Imagen
Una clase que declara la existencia de métodos, pero no la implementación de dichos métodos, se considera una clase abstracta. Una clase abstract nos permiten crear “métodos generales”, que recrean un comportamiento común, pero sin especificar cómo lo hacen. A nivel de código tienen por particularidad que algunos de sus métodos no tienen “cuerpo de declaración”, ¿qué quiere decir esto? no tienen las llaves {} ni código dentro de ellos y deben estar precedidos por la palabra clave abstract. Si una clase contiene uno o más métodos abstractos está clase debe ser abstracta . Ejemplos:  a) b) Figura es una clase abstracta (nombre en cursiva en UML) porque no tiene sentido calcular su área, pero sí la de un cuadrado o un círculo. Si una subclase de Figura no redefine area(), deberá declararse también como clase abstracta. Reglas básicas de este tipo de clases: Como ya he mencionado, una clase se declara abstracta si tiene algún método abstrac...

Herencia

Imagen
La idea de la  herencia  es permitir la creación de nuevas clases basadas en clases existentes. Se obtienen características (métodos y atributos) similares a los ya existentes. Es la relación entre una clase general y otra clase más específica. Es un mecanismo que nos permite crear clases derivadas a partir de clase base, nos permite compartir automáticamente métodos y datos entre clases subclases y objetos. Por ejemplo: Si declaramos una clase párrafo derivada de un clase texto todos los métodos y variables asociadas con la clase texto son automáticamente heredados por la subclase párrafo.   La relación padre-hijo entre clases puede representarse desde un punto de vista jerárquico, denominado vista de clases en árbol.  La vista en árbol comienza con una clase general llamada superclase (a la que algunas veces se hace referencia como clase primaria, clase padre, clase principal, o clase madre; existen muchas metáf...