478 Shares 8758 views

Elementos del modelo de objetos de Java: una clase abstracta, una interfaz

La idea principal de la clase abstracta está contenida en las siguientes tesis: a veces no requiere clases de cocina, y en forma "húmeda". Tales espacios en blanco no se pueden usar directamente (instanciar).

¿Qué es una clase abstracta en Java

Consideremos otro ejemplo. Hay una clase abstracta de Java Calendario en el paquete java.util. No implementa un calendario específico, que se utiliza, por ejemplo, en Europa Occidental y Oriental, China, Corea del Norte, Tailandia, etc., pero tiene muchas características útiles, tales como la adición de unos pocos días a una fecha específica: .. Se requiere que estos funciones por otra calendario de aplicación. Es imposible producir una copia de la clase abstracta.

Las clases abstractas, los métodos de Java abstractos

Suponga que desea desarrollar múltiples elementos gráficos, por ejemplo, formas geométricas: .. Un círculo, rectángulo, estrella, etc. y hay un recipiente que los atrae. Cada componente de la apariencia es diferente, por lo que el método apropiado (incluso si se llama pintura) se implementa de forma diferente. Sin embargo, cada componente tiene muchas similitudes: .. La cifra debe ser incluido en la caja pueden tener un color que sea visible e invisible, etc. En otras palabras, es necesario crear una clase padre para todas estas figuras, donde cada componente se heredan las propiedades generales. Pero ¿qué pasa con el método de pintura? Después de todo, la clase padre hay representación visual. Si se declara un método de pintura en cada clase de forma independiente, será necesario analizar qué componente se procesa, y luego realizar el reparto. Por lo tanto, el método debe ser declarada resumen en la clase padre: el método establece el título sin un cuerpo. Un cuerpo de cada clase derivada describirá su propia. En Java, una clase abstracta puede entrar en los métodos abstractos.

Si una clase tiene métodos abstractos, la clase es abstracta. Antes de poner la palabra clase abstracta la palabra clave, el título del método – también. Después de que el título de un método de este tipo es necesario poner un punto y coma. En Java, una clase abstracta no puede producir copias. Si queremos prohibir su creación, incluso si no hay métodos abstractos de la clase, la clase puede ser declarada abstracta. Pero si la clase tiene por lo menos un método abstracto, la clase debe ser abstracta. Es imposible clase era y es abstracta, y última, y el método también. El método no puede ser abstracta, privado, estática, nativa. Subclase se podría declarar no abstracta y cree una instancia, deben implementar todos los métodos abstractos de los padres. La clase en sí puede utilizar sus métodos abstractos.

ejemplo:

  • clase abstracta AClass {
  • método public abstract void (int a) ;
  • }
  • clase BClass extiende AClass {
  • método public void (int a) {
  • // cuerpo
  • }

las variables se permiten tales como clase abstracta. Se puede hacer referencia a un niño no abstracta de esa clase o ser nulo.

Interfaces en Java – una alternativa a la herencia múltiple

En Java, no hay herencia múltiple, porque entonces hay ciertos problemas. Una clase no puede heredar de varias clases. Pero puede implementar múltiples interfaces.

interfaces Java y clases abstractas – los conceptos son similares, pero no idénticos. La interfaz puede ser declarado como público, entonces es accesible a todos, o se puede omitir el modificador pública, la interfaz está disponible sólo dentro de su paquete. No se requiere Resumen de palabras clave, ya que la interfaz y así es abstracto, pero se puede especificar.

Una declaración de interfaz

Se comienza con una cabecera, y el primero puede ir a la palabra clave public, a continuación, – interfaz de palabra. Entonces no puede haber una palabra se extiende y las interfaces de transferencia, de la que heredan esta. No se permite a repetir, y es imposible formar una relación cíclica de la relación de herencia. Luego viene el cuerpo de interfaz, entre llaves. En el cuerpo de los elementos de la interfaz se declaran: constantes de campo y métodos abstractos. Todos los campos son estáticos public final – todos estos modificadores no son necesarios. Todos los métodos se consideran public abstract – estos modificadores también se pueden especificar. Ahora, se dice lo suficiente sobre la diferencia entre una clase abstracta de la interfaz Java.

  • interfaz pública AI extiende B, C, D {
  • // cuerpo
  • }

Para declarar una interfaz heredera de clase, tenga que utilizar los implementos de palabras clave:

  • AClass clase implementa BI, CI, DI {}

Es decir, si después de la declaración de la clase implementa nombre de la interfaz especificada, sus aperos de clase. Herederos de esta clase tiene sus elementos, por lo que también venden.

También se permite Variables de un tipo de interfaz. Pueden referirse a un tipo de la clase que implementa esta interfaz, o nulo. Estas variables tienen todos los elementos de la clase de objeto, porque los objetos son generados por las clases, y que, a su vez, se derivan de la clase Object.

En este artículo, discutimos algunos elementos del modelo de objetos de Java – clases abstractas, métodos de interfaz abstracta.