A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© nanliner 中级黑马   /  2016-5-25 00:18  /  339 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

/*       
        奥迪车案例
                奥迪车:
                        普通奥迪车(CommonAudi): name奥迪a3  price 30万
                        高端奥迪车(High_EndAudi): name奥迪a8  price 72万
        普通奥迪车:
                属性:姓名,价钱
                行为:跑
        高端奥迪车:
                属性:姓名,价钱
                行为:跑,自动泊车automaticParking,无人驾驶automaticDrive
       
        共性:
                都是奥迪车
                姓名,价钱
                跑

        高端奥迪车额外功能:
                自动泊车(automaticParking)
                无人驾驶(automaticDrive)

        实现:
                从抽象到具体
        使用:
                使用具体类

        定义一个接口:
                interface Function{}
*/
  1. interface Function {
  2.         public abstract void automaticParking();
  3.         public abstract void automaticDrive();
  4. }
  5. abstract class Audi {
  6.         private String name;
  7.         private int price;
  8.         public Audi() {}
  9.         public Audi(String name,int price) {
  10.                 this.name = name;
  11.                 this.price = price;
  12.         }
  13.         public String getName() {
  14.                 return name;
  15.         }
  16.         public void setName(String name) {
  17.                 this.name = name;
  18.         }
  19.         public int getPrice() {
  20.                 return price;
  21.         }
  22.         public void setPrice(int price) {
  23.                 this.price = price;
  24.         }
  25.         public abstract void run();
  26. }

  27. class CommonAudi extends Audi {
  28.         public CommonAudi() {}
  29.         public CommonAudi(String name,int price) {
  30.                 super(name,price);
  31.         }
  32.         public void run() {
  33.                 System.out.println("跑起来溜溜滴");
  34.         }
  35. }
  36. abstract class High_EndAudi extends Audi {
  37.         public High_EndAudi() {}
  38.         public High_EndAudi(String name,int price) {
  39.                 super(name,price);
  40.         }
  41.         public void run() {
  42.                 System.out.println("跑起来真拉风");
  43.         }
  44. }
  45. //具体类实现接口
  46. class NiceAudi extends High_EndAudi implements Function {
  47.         public NiceAudi() {}
  48.         public NiceAudi(String name,int price) {
  49.                 super(name,price);
  50.         }
  51.         public  void automaticParking() {
  52.                 System.out.println("拥有自动泊车功能");
  53.         }
  54.         public  void automaticDrive() {
  55.                 System.out.println("并且可以无人驾驶");
  56.         }
  57. }
  58. class AudiDemo {
  59.         public static void main(String[] args) {
  60.                 Audi a = new CommonAudi();
  61.                 a.setName("Audi a3");
  62.                 a.setPrice(30);
  63.                 System.out.println(a.getName()+" "+a.getPrice()+"万元");
  64.                 a.run();
  65.                 System.out.println("----------");

  66.                 a = new CommonAudi("Audi a3",30);
  67.                 System.out.println(a.getName()+" "+a.getPrice()+"万元");
  68.                 a.run();
  69.                 System.out.println("----------");

  70.                 NiceAudi na = new NiceAudi();
  71.                 na.setName("Audi a8");
  72.                 na.setPrice(72);
  73.                 System.out.println(na.getName()+" "+na.getPrice()+"万元");
  74.                 na.automaticParking();
  75.                 na.automaticDrive();
  76.                 na.run();
  77.                 System.out.println("----------");
  78.                
  79.                 na = new NiceAudi("Audi a8",72);
  80.                 System.out.println(na.getName()+" "+na.getPrice()+"万元");
  81.                 na.automaticParking();
  82.                 na.automaticDrive();
  83.                 na.run();
  84.         }
  85. }
复制代码

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马