aardio 实现封装继承多态
//Car 实现封装继承多态 import console //父类 class Car{ ctor(make, model, color, year) {//构造函数,用于初始化对象的属性 this.make = make //制造商 this.model = model //型号 this.color = color //颜色 this.year = year //年份 } startEngine = function() {//方法:启动引擎 ..console.log("引擎启动了!") } accelerate = function() {//方法:加速 ..console.log("车辆加速了!") } brake = function() {//方法:刹车 ..console.log("车辆刹车了!") } describe = function() {// 方法:描述车辆信息 ..console.log("这是一辆 " + this.year + " 年的 " + this.make + ",其型号为 " + this.model + ",颜色为 " + this.color + ".") } } //基类 class BMW{ ctor(model, color, year){ this = ..Car("宝马", model, color, year); //继承Car类 } } myCar = BMW("X3", "红色", 2020) myCar.describe() myCar.startEngine() myCar.accelerate() myCar.brake() //父类 class Person{ ctor(name, age) { this.name = name this.age = age } sayHello = function() { ..console.log("大家好,我叫 " + this.name + ", 我今年 " + this.age + " 岁。") } } //基类 class Student{ ctor(name, age, grade) { this = ..Person(name, age) this.grade = grade } study = function() { ..console.log(this.name + " 正在学习,他现在 " + this.grade + "年级。") } } student = Student("小明", 10, 5) student.sayHello() student.study() //封装 class Animal{ ctor(name) { this.name = name } eat = function() { ..console.log(this.name + " is eating.") } } //继承 class Carnivore{ ctor(name) { this = ..Animal(name) } eat = function() { ..console.log(this.name + " is eating meat.") } } //多态 class Herbivore{ ctor(name) { this = ..Animal(name) } eat = function() { ..console.log(this.name + " is eating plants.") } } var carnivore = Carnivore("Tiger") var herbivore = Herbivore("Deer") carnivore.eat() // 输出 "Tiger is eating meat." herbivore.eat() // 输出 "Deer is eating plants." console.pause(true)