• 打车时,可以打专车和快车。任何车辆都能看到车牌号和名称
    • 不同车价格不同,,快车每公里1元,专车没公里2元
    • 行程开始时,显示车辆信息。
    • 行程结束时,显示打车金额

    考点

    • 继承
    • 面向对象
    • 设计抽象

    车辆和行程分开,他们是不用的class

    1. // 定义车辆父类
    2. class Car {
    3. constructor(number, name, km) {
    4. this.number = number;
    5. this.name = name;
    6. this.km = km
    7. }
    8. }
    9. // 快车
    10. class Kaui extends Car {
    11. constructor(number, name, km) {
    12. super(number, name, km);
    13. // 定义价格
    14. this.price = 1;
    15. }
    16. }
    17. // 专车
    18. class Zhuan extends Car {
    19. constructor(number, name, km) {
    20. super(number, name, km)
    21. this.price = 2
    22. }
    23. }
    24. // 显示车辆信息
    25. class Trip {
    26. constructor(car) {
    27. this.car = car;
    28. }
    29. start() {
    30. console.log(`${this.car.name}为您服务,车牌号为${this.car.number}`);
    31. }
    32. end() {
    33. console.log(`行程为${this.car.km}公里,费用为${this.car.price * this.car.km}`);
    34. }
    35. }
    36. let car = new Zhuan('京A123123', '宝马', 10);
    37. let trip = new Trip(car);
    38. trip.start()
    39. trip.end()