第五题

作者: kafya | 来源:发表于2021-09-21 23:41 被阅读0次

    请在下面写出JavaScript面向对象编程的混合式继承。并写出ES6版本的继承。要求:汽车是父类,Cruze是子类,父类有颜色、价格属性、有售卖方法。Cruze子类实现父类颜色是红色,价格是14w,售卖方法实现输出如下语句:将红色Cruze买给了小王,价格是14w

    class Car {
      constructor(color, price){
        this.color = color;
        this.price = price;
      }
      sell(){
        console.log(this.color,this.price);
      }
    }
    class Cruze extends Car {
      constructor(){
        super("red" ,"14w")
      }
    }
    const xiaoWang = new Cruze();
    xiaoWang.sell()
    

    考点:

    1. 原型和原型链

    • 所有的引用类型(数组,对象,函数),都具有对象特性,即可自由扩展属性(null除外)
    • 所有的引用类型(数组、对象、函数)都有一个__proto__属性,属性值是一个普通的对象
    • 所有函数,都有一个prototype属性,属性值也是一个普通对象
    • 所有引用类型(数组,对象,函数)__proto__属性值指向它的构造函数的prototype属性值
    • _proto(隐式原型)与prototype(显式原型)

    2. call和apply的区别:改变对象的执行上下文,区别就是一个是传参形式不一样

    3. JavaScript constructor和Object.create()

    • constructor属性返回对创建此对象的数组函数的引用
    • Object.create()方法会使指定的原型对象及其属性去创建一个新的对象

    4. ES6新语法

    • 什么是构造函数和析构函数
    • 访问控制(可见性)
    • 对象继承
    • 范围解析操作符(::)
    • static 静态关键字
    • 抽象类
    • 对象接口
    • 重载
    • JavaScript是任何实现重载的
      • ES6 super.同名方法()
      • ES5

    相关文章

      网友评论

          本文标题:第五题

          本文链接:https://www.haomeiwen.com/subject/pwxwgltx.html