Testt4

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

    public Car() {
    }

    public Car(String carKind, String carCard) {
        this.carKind = carKind;
        this.carCard = carCard;
    }

    public String getCarKind() {
        return carKind;
    }

    public void setCarKind(String carKind) {
        this.carKind = carKind;
    }

    public String getCarCard() {
        return carCard;
    }

    public void setCarCard(String carCard) {
        this.carCard = carCard;
    }

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

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

class Taxi extends Car{
    private String company;

    public Taxi() {
    }

    public Taxi(String carKind, String carCard,String company) {
        super(carKind, carCard);
        this.company = company;
    }

    public String getCompany() {
        return company;
    }

    public void setCompany(String company) {
        this.company = company;
    }

    @Override
    public void start() {
        System.out.println("乘客您好");
        System.out.println("我是"+company+"的,我的车牌是"+getCarCard()+",您要去哪里?");
    }

    @Override
    public void stop() {
        System.out.println("目的地已经到了,请您付费下车,欢迎再次乘坐");
    }
}

class PrivateCar extends Car{
    private String pName;

    public PrivateCar() {
    }

    public PrivateCar(String carKind, String carCard, String pName) {
        super(carKind, carCard);
        /*
         this.carKind = carKind;
         this.carCard = carCard;
         */
        this.pName = pName;
    }

    @Override
    public void start() {
        System.out.println("我是"+pName+",我的汽车我做主");
    }

    @Override
    public void stop() {
        System.out.println("目的地到了,我们去玩吧");
    }
}

public class Test4 {
    public static void main(String[] args) {
        Car car = new Car();
        car.start();
        car.stop();
        System.out.println("=====================");
        PrivateCar p1 = new PrivateCar("奥迪A8L霍希版", "皖A00001", "武大郎");
        p1.start();
        p1.stop();
        System.out.println("=====================");
        Taxi t1 = new Taxi("比亚迪", "京B123", "景顺出租车公司");
        t1.start();
        t1.stop();
    }
}

posted @   rrrzzzrrr  阅读(6)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示