利用接口“组装电脑”

CPU接口:

 1 public interface ICPU {
 2 
 3         //性能
 4         public void XingNeng();
 5             
 6         //型号
 7         public void XingHao();
 8         
 9         //生产厂家
10         public void ShengChan();
11 }
 1 public interface ICPU1 {
 2     
 3             //性能
 4             public void XingNeng1();
 5                 
 6             //型号
 7             public void XingHao1();
 8             
 9             //生产厂家
10             public void ShengChan1();
11 }

显卡接口:

 1 public interface IXianKa {
 2 
 3     //性能
 4     public void XingNeng();
 5         
 6     //型号
 7     public void XingHao();
 8     
 9     //生产厂家
10     public void ShengChan();
11     
12 }

实现接口:(左边实现CPU,右边实现显卡)

 1 public class CPU implements ICPU,ICPU1{
 2 
 3     @Override
 4     public void XingNeng() {
 5         // TODO 自动生成的方法存根
 6         System.out.println("性能好的CPU");
 7     }
 8 
 9     @Override
10     public void XingHao() {
11         // TODO 自动生成的方法存根
12         System.out.println("型号intel");
13     }
14 
15     @Override
16     public void ShengChan() {
17         // TODO 自动生成的方法存根
18         System.out.println("美国生产的");
19     }
20 
21     @Override
22     public void XingNeng1() {
23         // TODO 自动生成的方法存根
24         System.out.println("这不知道");
25     }
26 
27     @Override
28     public void XingHao1() {
29         // TODO 自动生成的方法存根
30         System.out.println("也不知道");
31     }
32 
33     @Override
34     public void ShengChan1() {
35         // TODO 自动生成的方法存根
36         System.out.println("你猜呢");
37     }
38 
39     
40 }
 1 public class XianKa implements IXianKa{
 2 
 3     @Override
 4     public void XingNeng() {
 5         // TODO 自动生成的方法存根
 6         System.out.println("我是显卡,我很强大!");
 7     }
 8 
 9     @Override
10     public void XingHao() {
11         // TODO 自动生成的方法存根
12         System.out.println("我是AMD的显卡");
13     }
14 
15     @Override
16     public void ShengChan() {
17         // TODO 自动生成的方法存根
18         System.out.println("不知道是哪里生产的");
19     }
20 
21 }

构建computer:

 1 public class Computer {
 2 
 3     //组装电脑
 4     private ICPU cpu;
 5     
 6     private IXianKa xianka;
 7     
 8     public void cpu(){
 9         if(cpu==null){
10             System.out.println("我还没有CPU,请装入CPU");
11         }else{
12             System.out.println("我已有CPU,CPU的详细信息是:");
13             cpu.XingNeng();
14             cpu.XingHao();
15             cpu.ShengChan();
16         }
17     }
18     public void xianka(){
19         if(xianka==null){
20             System.out.println("我还没有显卡,请装入显卡");
21         }else{
22             System.out.println("我已有显卡,显卡的详细信息是:");
23             xianka.XingNeng();
24             xianka.XingHao();
25             xianka.ShengChan();
26         }
27     }
28 
29     public ICPU getCpu() {
30         return cpu;
31     }
32 
33     public void setCpu(ICPU cpu) {
34         this.cpu = cpu;
35     }
36 
37     public IXianKa getXianka() {
38         return xianka;
39     }
40 
41     public void setXianka(IXianKa xianka) {
42         this.xianka = xianka;
43     }
44 }

测试computer:

 1 public class TestComputer {
 2 
 3     
 4     public static void main(String[] args) {
 5         
 6         Computer c = new Computer();
 7         
 8         //装入CPU
 9 //        c.setCpu(new CPU());
10         
11         c.cpu();
12         
13         System.out.println("------------------");
14         
15         //装入显卡
16         c.setXianka(new XianKa());
17        // System.out.println(c.getXianka());
18         
19         c.xianka();
20         
21     }
22 }

运行结果:

我已有CPU,CPU的详细信息是:
性能好的CPU
型号intel
美国生产的
------------------
我已有显卡,显卡的详细信息是:
我是显卡,我很强大!
我是AMD的显卡
不知道是哪里生产的

原文地址:https://www.cnblogs.com/zhengfengyun/p/5149165.html