/*
奥迪车案例
奥迪车:
普通奥迪车(CommonAudi): name奥迪a3 price 30万
高端奥迪车(High_EndAudi): name奥迪a8 price 72万
普通奥迪车:
属性:姓名,价钱
行为:跑
高端奥迪车:
属性:姓名,价钱
行为:跑,自动泊车automaticParking,无人驾驶automaticDrive
共性:
都是奥迪车
姓名,价钱
跑
高端奥迪车额外功能:
自动泊车(automaticParking)
无人驾驶(automaticDrive)
实现:
从抽象到具体
使用:
使用具体类
定义一个接口:
interface Function{}
*/- interface Function {
- public abstract void automaticParking();
- public abstract void automaticDrive();
- }
- abstract class Audi {
- private String name;
- private int price;
- public Audi() {}
- public Audi(String name,int price) {
- this.name = name;
- this.price = price;
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public int getPrice() {
- return price;
- }
- public void setPrice(int price) {
- this.price = price;
- }
- public abstract void run();
- }
- class CommonAudi extends Audi {
- public CommonAudi() {}
- public CommonAudi(String name,int price) {
- super(name,price);
- }
- public void run() {
- System.out.println("跑起来溜溜滴");
- }
- }
- abstract class High_EndAudi extends Audi {
- public High_EndAudi() {}
- public High_EndAudi(String name,int price) {
- super(name,price);
- }
- public void run() {
- System.out.println("跑起来真拉风");
- }
- }
- //具体类实现接口
- class NiceAudi extends High_EndAudi implements Function {
- public NiceAudi() {}
- public NiceAudi(String name,int price) {
- super(name,price);
- }
- public void automaticParking() {
- System.out.println("拥有自动泊车功能");
- }
- public void automaticDrive() {
- System.out.println("并且可以无人驾驶");
- }
- }
- class AudiDemo {
- public static void main(String[] args) {
- Audi a = new CommonAudi();
- a.setName("Audi a3");
- a.setPrice(30);
- System.out.println(a.getName()+" "+a.getPrice()+"万元");
- a.run();
- System.out.println("----------");
- a = new CommonAudi("Audi a3",30);
- System.out.println(a.getName()+" "+a.getPrice()+"万元");
- a.run();
- System.out.println("----------");
- NiceAudi na = new NiceAudi();
- na.setName("Audi a8");
- na.setPrice(72);
- System.out.println(na.getName()+" "+na.getPrice()+"万元");
- na.automaticParking();
- na.automaticDrive();
- na.run();
- System.out.println("----------");
-
- na = new NiceAudi("Audi a8",72);
- System.out.println(na.getName()+" "+na.getPrice()+"万元");
- na.automaticParking();
- na.automaticDrive();
- na.run();
- }
- }
复制代码 |
|