多态

Posted on 2016-06-09 22:19  上善其若水,厚德载物  阅读(162)  评论(0编辑  收藏  举报

 同一类事务的不同个体处理同一性质不同参数的问题时的优良解决方法,避免每个个体都从头计算。

public abstract class Car {

    abstract String getInfo();
}

 

public class BMW extends Car{

    //若继承抽象类,须实现抽象类中的抽象方法
    @Override
    String getInfo() {
        return "BMW";
    }

}

 

public class Benz extends Car{

    @Override
    String getInfo() {
        // TODO Auto-generated method stub
        return "Benz";
    }

}

 

public class CarFactory {

    //若new 对象可以把方法声明成static的
    public static Car getChoice(String string){
        if(string.equals("BMW")){
            return new BMW();
        }else if(string.equals("Benz")){
            return new Benz();
        }else{
            return null;
        }
        
    }
}

 

public class Customer {

    public static void main(String[] args) {
        
        System.out.println("顾客选择了BMW");
        Car BMW = CarFactory.getChoice("BMW");
        System.out.println("提取汽车:"+BMW.getInfo());
        
        System.out.println("顾客要购买Benz");
        Car benz = CarFactory.getChoice("Benz");
        System.out.println("提取汽车:"+benz.getInfo());
        
        
    }

 

Copyright © 2024 上善其若水,厚德载物
Powered by .NET 8.0 on Kubernetes