请使用面向对象的思想,设计自定义类,描述出租车和家用轿车的信息。设定 1)出租车类: 属性包括:车型,车牌,所属出租公司;方法包括:启动,停止 2)家用轿车类: 属性包括:车型,车牌,车主姓名;方法包

请使用面向对象的思想,设计自定义类,描述出租车和家用轿车的信息。
设定
1)出租车类:
属性包括:车型,车牌,所属出租公司;方法包括:启动,停止
2)家用轿车类:
属性包括:车型,车牌,车主姓名;方法包括:启动,停止
要求
1)分析出租车和家用轿车的公共成员,提取出父类—汽车类
2)利用继承机制,实现出租车类和家用轿车类
3)编写测试类,分别测试汽车类,出租车类和家用轿车类对象的相关方法
4)定义名为car的包存放汽车类,出租车类,家用轿车类和测试类
运行效果图如下:

public class Car { //父类-->汽车类
    //设置属性的私有访问权限
    private String type; //车型
    private String carNum; //车牌

    
//通过公有的get,set方法实现对属性的访问
    public String getType() {
        return type;
    }
    public void setType(String type) {
        this.type = type;
    }
    public String getCarNum() {
        return carNum;
    }
    public void setCarNum(String carNum) {
        this.carNum = carNum;
    }

    //构造器
    public Car() {
        super();
    }
    public Car(String type, String carNum) {
        super();
        this.type = type;
        this.carNum = carNum;
    }

    //启动的方法
    public void start(){
        System.out.println("我是车,我启动");
    }

    //停止的方法
    public void stop(){
        System.out.println("我是车,我停止");
    }

}



public class Taxi extends Car{ //子类-->出租车类
    //设置属性的私有访问权限
    private String company; //所属出租公司

    //通过公有的get,set方法实现对属性的访问
    public String getCompany() {
        return company;
    }
    public void setCompany(String company) {
        this.company = company;
    }

    //构造器
    public Taxi() {
        super();
    }
    public Taxi(String type, String carNum, String company) {
        super(type, carNum);
        this.company = company;
    }
    //启动的方法-->方法重写
    public void start(){
        System.out.println("乘客您好\n我是"+company+"的,我的车牌是"+super.getCarNum()+",您要去哪里?");
    }

    //停止的方法-->方法重写
    public void stop(){
        System.out.println("目的地已经到了,请您付费下车,欢迎再次乘坐");
    }   

}



public class OwnCar extends Car { // 子类-->家用轿车类
    // 设置属性的私有访问权限
    private String name; // 车主姓名

    // 通过公有的get,set方法实现对属性的访问
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    // 构造器
    public OwnCar() {
        super();
    }
    public OwnCar(String type, String carNum, String name) {
        super(type, carNum);
        this.name = name;
    }

    // 启动的方法-->方法重写
    public void start() {
        System.out.println("我是"+name+",我的汽车我做主");
    }

    // 停止的方法-->方法重写
    public void stop() {
        System.out.println("目的地到了,我们去玩吧");
    }

}



public class Test { //测试类
    public static void main(String[] args) {
        Car c=new Car(); //创建父类对象
        c.start(); //调用方法
        c.stop(); //调用方法
        System.out.println("==========================================");

        OwnCar oc=new OwnCar("","","武大郎"); //创建子类对象
        oc.start(); //调用方法
        oc.stop(); //调用方法
        System.out.println("==========================================");

        Taxi t=new Taxi("","京B123","景顺出租车公司");  //创建子类对象
        t.start(); //调用方法
        t.stop(); //调用方法

    }
}
posted @ 2020-02-11 20:53  Rosemajor  阅读(867)  评论(0)    收藏  举报