Вы находитесь на странице: 1из 9

HERENCIA

La herencia es el mecanismo fundamental de relación entre clases en la


orientación a objetos. Relaciona las clases de manera jerárquica; una clase padre
o superclase sobre otras clases hijas o subclases.

Los descendientes de una clase heredan todas las variables y métodos que sus
ascendientes hayan especificado como heredables, además de crear los suyos
propios.

La característica de la herencia, es que permite definir nuevas clases derivadas de


otras ya existentes, que la especializan de alguna manera. Es decir, permite la
reutilización del código heredado.

Una vez que una clase ha sido depurada y probada, el código fuente de dicha
clase no necesita modificarse. Su funcionalidad se puede cambiar derivando una
nueva clase que herede la funcionalidad de la clase base y le añada otros
comportamientos.
Diagrama de clases:

Para indicar que una clase deriva de otra, heredando sus propiedades (métodos y
atributos), se usa el término extends, como en el siguiente ejemplo:
La referencia super se usa para acceder a métodos o atributos de la superclase.

Ejemplo:

public class MiPunto


{
int x,y;
MiPunto (int x, int y) {
this.x = x;
this.y = y;
}
int MetodoSuma()
{
return x+y;
}
}

public class MiPunto3D extends MiPunto


{
int z;
MiPunto3D (int x, int y) {
super(x,y); // aquí se llama al constructor de MiPunto
this.z = super.MetodoSuma(); //método de la superclase
}

}
POLIMORFISMO

El polimorfismo es una característica por la cual se puede definir un nuevo código


para un método definido anteriormente.
El único requisito que deben cumplir los objetos que se utilizan de esta manera, es
saber responder a los mensajes que se les envía.
SOBRECARGA DE MÉTODOS (OVERLOAD)

La sobrecarga de métodos es un tipo de polimorfismo que consiste en la creación


de varios métodos con el mismo nombre pero con diferentes definiciones.
Java diferencia los métodos sobrecargados con base en el número y tipo de
argumentos que tiene el método.
También existe la sobrecarga de constructores.

LAS CLASES Y MÉTODOS ABSTRACTOS: ABSTRACT

Hay situaciones en las que se necesita definir una clase que represente un
concepto abstracto, y por lo tanto no se pueda proporcionar una implementación
completa de algunos de sus métodos. Se puede declarar que ciertos métodos han
de ser sobrescritos en las subclases, utilizando el modificador de tipo abstract.

Cualquier subclase de una clase abstract debe implementar todos los métodos
abstract de la superclase o bien ser declarada también como abstract.
INTERFACES

Las interfaces Java son expresiones puras de diseño, definen el comportamiento


de una clase, pero no su implementación.
Se trata de declarar métodos abstractos y constantes que posteriormente puedan
ser implementados de diferentes maneras según las necesidades de un programa.
Por defecto, todas las interfaces son públicas.
Una interfaz no puede implementar otra interfaz, aunque sí extenderla (extends)
ampliándola.
Para declarar una interfaz se utiliza la sentencia interface, de la misma manera
que se usa la sentencia class:

interface MiInterfaz
{
final int CONSTANTE = 100;
int metodoAbstracto( int parametro );
}

class ImplementaInterfaz implements MiInterfaz {


int multiplicando=CONSTANTE;
int metodoAbstracto( int parametro )
{
return ( parametro * multiplicando );
}
}
COMPARACIÓN CLASE ABSTRACTA VS. INTERFAZ

LOS ELEMENTOS GLOBALES: STATIC

Un método o variable se declara como static si se utiliza fuera del contexto de


cualquier instancia, es decir, de una manera global a un programa.

static int a = 3;
static void metodoGlobal()
{
// implementación del método
}

Otro aspecto en el que es útil static es en la creación de métodos a los que se


puede llamar directamente diciendo el nombre de la clase en la que están
declarados.
CLASE ANIDADA

Es una clase definida como miembro de otra clase.


Se le conoce como clase inner y a la clase que lo contiene, clase outer.

Вам также может понравиться