Implementar herança múltipla

Vários meios de herança que uma classe pode herdar comportamentos e características de mais de uma classe pai lá, mas sabemos Java Para garantir a segurança dos dados, só permite herança simples. Às vezes pensamos que se o sistema requer o uso de herança múltipla são muitas vezes mal concebidos, desta vez, muitas vezes, precisa pensar não é como usar herança múltipla, mas seu projeto, se houver problemas, mas às vezes nós realmente precisamos para alcançar múltipla herança, mas também na vida real não é realmente tal situação, tais como genética, ou seja, nós herdamos o comportamento de seu pai e características também são herdadas comportamento e as características de sua mãe. Felizmente Java é muito gentil e compreender-nos, ele fornece duas maneiras para nós para alcançar tortuosa herança múltipla: Interfaces e classes internas.
Em primeiro lugar, a interface
subclasse aprendeu só pode herdar a introdução de interfaces e classes abstratas, quando uma classe pai, o que significa que há apenas herança simples, mas pode implementar várias interfaces, que para nós para conseguir a herança múltipla para fazer o trabalho de base.
Para a interface lo, às vezes não é apenas uma manifestação de um mais puramente abstrato classes, interfaces, não há nenhuma implementação específica, ou seja, não associadas com qualquer combinação de interface de armazenamento, por isso não pode impedir múltiplas interfaces a.
[Java]  planície vista de texto   Copie o código
?
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
interface CanFight {
     void fight();
}
 
interface CanSwim {
     void swim();
}
 
interface CanFly {
     void fly();
}
 
public class ActionCharacter {
     public void fight(){
 
     }
}
 
public class Hero extends ActionCharacter implements CanFight,CanFly,CanSwim{
 
     public void fly() {
     }
 
     public void swim() {
     }
 
     /**
      * 对于fight()方法,继承父类的,所以不需要显示声明
      */
}
Em segundo lugar, a classe interna
A interface de utilização acima de herança múltipla é uma maneira mais viável e popular, introduzindo classe interna quando se trata da classe herança múltipla interna da implementação tornou-se mais perfeito, mas também deixou claro que, se a classe pai é abstrato ou concreto classe, então só pode ser conseguida através de várias classes internas de herança. Como usar implementos de classe internas herança múltipla, considere o seguinte exemplo: Como é a utilização do filho herança múltipla de genes bons herdar pai e mãe.
Primeiro, o pai Pai e Mãe Mãe:
[Java]  planície vista de texto   Copie o código
?
01
02
03
04
05
06
07
08
09
10
11
public class Father {
     public int strong(){
         return 9 ;
     }
}
 
public class Mother {
     public int kind(){
         return 8 ;
     }
}
重头戏在这里,儿子类Son:
[Java]  纯文本查看  复制代码
?
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
public class Son {
 
     /**
      * 内部类继承Father类
      */
     class Father_1 extends Father{
         public int strong(){
             return super .strong() + 1 ;
         }
     }
 
     class Mother_1 extends  Mother{
         public int kind(){
             return super .kind() - 2 ;
         }
     }
 
     public int getStrong(){
         return new Father_1().strong();
     }
 
     public int getKind(){
         return new Mother_1().kind();
     }
}
测试程序:
[Java]  纯文本查看  复制代码
?
01
02
03
04
05
06
07
08
09
10
11
12
13
public class Test1 {
 
     public static void main(String[] args) {
         Son son = new Son();
         System.out.println( "Son 的Strong:" + son.getStrong());
         System.out.println( "Son 的kind:" + son.getKind());
     }
 
}
----------------------------------------
Output:
Son 的Strong: 10
Son 的kind: 6
儿子继承了父亲,变得比父亲更加强壮,同时也继承了母亲,只不过温柔指数下降了。这里定义了两个内部类,他们分别继承父亲Father类、母亲类Mother类,且都可以非常自然地获取各自父类的行为,这是内部类一个重要的特性:内部类可以继承一个与外部类无关的类,保证了内部类的独立性,正是基于这一点,多重继承才会成为可能。
更多java学习资料可关注:itheimaGZ获取
发布了731 篇原创文章 · 获赞 3 · 访问量 11万+

Acho que você gosta

Origin blog.csdn.net/u010395024/article/details/104814477
Recomendado
Clasificación