博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Chapter 7、面向对象(四)--- 多态
阅读量:6672 次
发布时间:2019-06-25

本文共 3479 字,大约阅读时间需要 11 分钟。

接口

1 package org.hanqi.pn0120; 2  3 public class Computer  4 { 5     //品牌 6     private String brand; 7     //CPU 8     private ICPU cpu; 9     //显卡10     private IDisplayCard displaycard;11     12     13     public String getBrand() {14         return brand;15     }16     public void setBrand(String brand) {17         this.brand = brand;18     }19     public ICPU getCpu() {20         return cpu;21     }22     public void setCpu(ICPU cpu) {23         this.cpu = cpu;24     }25     public IDisplayCard getDisplaycard() {26         return displaycard;27     }28     public void setDisplaycard(IDisplayCard displaycard) {29         this.displaycard = displaycard;30     }31     32     //运行33     public void run()34     {35         this.cpu.command();36         this.displaycard.display();37         System.out.println("我组装的"+brand+"电脑开始运行");38     }39     40     public Computer(String brand) {41         super();42         this.brand = brand;43     }44 45     public static void main(String []args)46     {47         //组装电脑48         Computer c1=new Computer("hp");49         50         //第一种:匿名类 new AMD()51         c1.setCpu(new AMD());52         //第二种:53         AMD a1=new AMD();54         c1.setCpu(a1);55         56         c1.setDisplaycard(new Nivida());57         58         c1.run();59         60         61         Computer c2=new Computer("ASUS");62         c2.setCpu(new Intel());63         c2.setDisplaycard(new Ati());64         c2.run();65         System.out.println("------------------");66         67         AMD2 a2=new AMD2();68         Computer c3=new Computer("acer");69         c3.setCpu(a2);70         c3.setDisplaycard(a2);71         c3.run();72         System.out.println("------------------");73         74         AMD3 a3=new AMD3();75         Computer c4=new Computer("acer");76         c4.setCpu(a3);77         c4.setDisplaycard(a3);78         c4.run();79     }80 81 }
1 package org.hanqi.pn0120;2 //CPU接口3 public interface ICPU 4 {5     //控制6     public void command();7 }
1 package org.hanqi.pn0120;2 //显卡接口3 public interface IDisplayCard 4 {5     //显示6     public void display();7 8 }
1 package org.hanqi.pn0120; 2  3 public class Intel implements ICPU { 4  5     @Override 6     public void command()  7     { 8         System.out.println("我是Interl的CPU"); 9 10     }11 12 }
1 package org.hanqi.pn0120; 2  3 public class AMD implements ICPU  4 { 5  6     @Override 7     public void command()  8     { 9         System.out.println("我是AMD的CPU");10 11     }12 13 }
1 package org.hanqi.pn0120; 2  3 public class Nivida implements IDisplayCard { 4  5     @Override 6     public void display()  7     { 8         System.out.println("我是N显卡"); 9 10     }11 12 }
1 package org.hanqi.pn0120; 2  3 public class Ati implements IDisplayCard { 4  5     @Override 6     public void display()  7     { 8         System.out.println("我是A显卡"); 9 10     }11 12 }
1 package org.hanqi.pn0120; 2  3 public class AMD2 implements ICPU, IDisplayCard { 4  5     @Override 6     public void display()  7     { 8         System.out.println("AMD的CPU显卡"); 9 10     }11 12     @Override13     public void command() 14     {15         System.out.println("AMD自带显卡的CPU");16 17     }18 19 }
1 package org.hanqi.pn0120; 2  3 public class AMD3 extends AMD implements IDisplayCard { 4  5     @Override 6     public void display() { 7         // TODO 自动生成的方法存根 8         System.out.println("继承了AMD一代的CPU,增加了显卡功能"); 9 10     }11 12 }

转载于:https://www.cnblogs.com/xiao55/p/5260944.html

你可能感兴趣的文章
Xamarin.android 重写axml控件
查看>>
XML 扩展部分
查看>>
Tinyos Makerules解读
查看>>
安装VS2010 SP1时遇到WCF RIA Service 版本错误
查看>>
UI--普通控件总结1--控件使用
查看>>
【外文翻译】使用Timer类去调度任务 ——java
查看>>
关于CountDownLatch控制线程的执行顺序
查看>>
plsql 乱码 注册表 修改文件
查看>>
Docker集群管理(三)—— docker swarm mode基础教程
查看>>
1.urlencoder和urldecoder的使用
查看>>
web移动端布局方式整理
查看>>
蛤玮学计网 -- 简单的判断ip
查看>>
如何解决div里面img图片下方有空白的问题?
查看>>
P3626 [APIO2009]会议中心
查看>>
防火墙
查看>>
Ubuntu下VIM使用指南
查看>>
QTREE5 - Query on a tree V——LCT
查看>>
spring mvc-使用Servlet原生API作为参数
查看>>
第13章 MySQL数据库与JDBC编程
查看>>
百度地图API使用记录
查看>>