Ao implementar a interface, usamos a sintaxe da interface para separar a interface da definição de classe e formar um assunto. interface fornece especificações de interface para classes.
Na herança, introduzimos o mecanismo de herança para melhorar a reutilização do programa. A herança naquela época era baseada em classes. A interface interface também pode ser herdada para estender a interface original.
Herança de interface
A herança de interface (herança) é muito semelhante à herança de classe, que consiste em adicionar novos protótipos de métodos de interface baseados na interface herdada. Por exemplo, usamos Cup como interface original:
Copie o código do código da seguinte forma:
Copa de interface {
void addÁgua(int w);
void beberÁgua(int w);
}
Com base na herança do Cup, definimos uma nova interface para copos com balança, MetricCup
A interface é a seguinte:
Copie o código do código da seguinte forma:
interface MetricCup estende Copa
{
int WaterContent();
}
Adicionamos um novo protótipo de método WaterContent(), que retorna um número inteiro (quantidade de água).
Herança múltipla de interface
Na herança de classes Java, uma classe derivada pode ter apenas uma classe base. Em outras palavras, uma classe não pode herdar de mais de uma classe ao mesmo tempo. Em Java, uma interface pode herdar mais de uma interface ao mesmo tempo, o que é chamado de herança múltipla.
Por exemplo, temos a seguinte interface do Player:
Copie o código do código da seguinte forma:
Interface Jogador
{
void play();
}
Adicionamos uma nova interface MusicCup. Possui interface Cup e interface Player e adiciona um protótipo do método display().
Copie o código do código da seguinte forma:
interface MusicCup estende Cup, Player
{
exibição vazia();
}
(Como usar a interface, consulte Implementando Interface)
classe abstrata
Na vida, temos alguns conceitos muito abstratos. Esses conceitos abstratos costumam ser uma coleção de muitas classes, como:
1. Grão (pode ser milho, trigo, arroz)
2. Gráficos (podem ser triângulos, círculos, quadrados)
Para outro exemplo, demos um exemplo antes:
1. Seres humanos (podem ser homens ou mulheres)
Ao organizar tais relacionamentos, podemos usar herança, como:
De acordo com nosso bom senso:
1. O termo “objeto da classe Comida” é abstrato. Tal objeto deve pertencer a uma das subclasses Milho, Arroz e Trigo.
2. A classe Food possui o método eat() (comida pode ser comida). No entanto, tal ação é abstrata. As formas específicas de consumir alimentos são diferentes. Por exemplo, o milho precisa ser descascado e comido, e o trigo precisa ser moído e transformado em farinha. Precisamos substituir o método eat() da classe Food em todas as classes.
abstrato e concreto
Java fornece a sintaxe da classe abstrata para ilustrar a abstração das classes e seus métodos. por exemplo:
Copie o código do código da seguinte forma:
classe abstrata Comida {
público abstrato void comer();
public void happyFood();
{
System.out.println("Bom! Coma-me!");
}
}
Os métodos em uma classe podem ser declarados abstratos, como eat() acima. Neste momento, não precisamos definir especificamente o método, precisamos apenas fornecer o protótipo do método. Isso é semelhante às interfaces. Quando herdamos esta classe, por exemplo, na classe Corn, precisamos fornecer uma definição específica do método eat().
Outro método na classe happyFood() não é
Quando um método abstrato aparece em uma classe, a palavra-chave abstrata deve ser adicionada à declaração desta classe, caso contrário o Java reportará um erro. Uma classe abstrata não pode ser usada para criar objetos.
Herança de classes abstratas
Podemos herdar uma classe abstrata como uma classe. Devemos usar definições completas de métodos para cobrir os métodos abstratos na classe abstrata, caso contrário, a classe derivada ainda será uma classe abstrata.
Classes abstratas podem ter membros de dados em sua definição. A herança de membros de dados é igual à de uma classe normal.
Resumir
herança de interface, herança múltipla
método abstrato, classe abstrata