633 Shares 3163 views

Elementos do modelo de objeto Java: uma classe abstrata, uma interface

A idéia principal da classe abstrata está contida nas seguintes teses: às vezes não necessita de aulas de culinária, e em forma "molhada". Tais peças em bruto não pode ser usada directamente (instanciar).

O que é uma classe abstrata em Java

Veja outro exemplo. Há uma classe abstrata Calendário Java no pacote java.util. Ele não implementa um calendário específico, que é usado, por exemplo, na Europa Ocidental e Oriental, China, Coréia do Norte, Tailândia, etc. Mas ele tem muitos recursos úteis, como a adição de alguns dias a uma data específica: .. Estas funções são necessárias para qualquer calendário de implementação. É impossível produzir uma cópia da classe abstrata.

classes abstratas, métodos Java abstratas

Suponha que você queira desenvolver vários elementos gráficos, por exemplo, formas geométricas: .. Um círculo, retângulo, estrela, etc. E há um recipiente que os atrai. Cada componente da aparência é diferente, por isso o método apropriado (mesmo que é chamado de pintura) é implementado de forma diferente. No entanto, cada componente tem muitas semelhanças: .. A figura devem ser incluídos na caixa podem ter uma cor a ser visíveis e invisíveis, etc. Em outras palavras, você precisa criar uma classe pai para todas estas figuras, onde cada componente irá herdar as propriedades gerais. Mas o que sobre o método de pintura? Afinal, a classe pai é nenhuma representação visual. Se você declarar um método de pintura em cada classe de forma independente, será necessário analisar o componente é processado, e depois executar o elenco. Portanto, o método deve ser declarada abstract na classe pai: o método de definir o título sem um corpo. Um corpo de cada classe derivada irá descrever o seu próprio. Em Java, uma classe abstrata pode inserir os métodos abstratos.

Se uma classe tem métodos abstratos, a classe é abstrata. Antes da classe palavra colocar a palavra-chave abstrato, o título do método – também. Após o título de um método tal é necessário para colocar um ponto e vírgula. Em Java, uma classe abstrata não pode produzir cópias. Se queremos proibir a sua criação, mesmo se não houver métodos abstratos da classe, a classe pode ser declarada abstract. Mas se a classe tem pelo menos um método abstrato, a classe deve ser abstrato. É impossível classe era e abstrata é, e final, eo método também. O método não pode ser abstrato, privado, estático, nativa. A subclasse pode-se declarar não-abstrato e instanciar, eles devem implementar todos os métodos abstratos da controladora. A classe em si pode usar seus métodos abstratos.

exemplo:

  • classe abstrata AClass {
  • método vazio abstrato pública (int a) ;
  • }
  • classe BClass estende AClass {
  • método public void (int a) {
  • // corpo
  • }

variáveis permitidas, tais como classe abstrata. Eles podem se referir a uma criança não-abstrata de classe ou ser nulo.

Interfaces em Java – uma alternativa para herança múltipla

Em Java, não há herança múltipla, porque então existem alguns problemas. Uma classe não pode herdar de várias classes. Mas ele pode implementar várias interfaces.

interfaces Java e classes abstratas – os conceitos são semelhantes, mas não idênticas. A interface pode ser declarado como público, então ele está disponível para todos, ou você pode omitir o público modificador, em seguida, a interface está disponível apenas dentro da embalagem. Abstract palavra-chave não é necessária, porque a interface e assim é abstrato, mas você pode especificar.

Uma declaração de interface

Ela começa com um cabeçalho, e pode ir primeiro para a palavra-chave pública, então – Interface palavra. Então não pode ser uma palavra estende e interfaces de transferência, a partir do qual herdou isso. Não é permitido repetir, e é impossível formar uma relação cíclica da relação de herança. Em seguida, vem o corpo interface, entre chaves. No corpo dos elementos de interface são declarados: constantes de campo e métodos abstratos. Todos os campos são estáticos public final – todos esses modificadores não são necessárias. Todos os métodos são considerados abstrato pública – esses modificadores também podem ser especificados. Agora, o suficiente é dito sobre a diferença entre uma classe abstrata a partir da interface Java.

  • public interface AI estende B, C, D {
  • // corpo
  • }

Para declarar uma interface herdeiro classe, precisa usar a palavra-chave implementos:

  • classe AClass implementa BI, CI, DI {}

Isto é, se após a declaração de classe implementa nome da interface especificado, seus implementos de classe. Herdeiros dessa classe recebe seus elementos, para que eles também vendê-lo.

Variáveis de um tipo de interface também é permitido. Eles podem se referir a um tipo da classe que implementa essa interface, ou nulo. Tais variáveis têm todos os elementos da classe Object, porque os objetos são gerados por classes, e eles, por sua vez, derivam da classe Object.

Neste artigo, discutimos alguns elementos do modelo de objeto Java – classes abstratas, abstrato interface de métodos.