es6: class(类的继承)

calss
声明类  class  People{ }
例: class People {
            // 属性固定写法
            constructor(name,age){ // 构造器  实例化类的时候 会调用
                this.name = name
                this.age = age
            }
            // 方法
            eat(){
                return `${this.name}会吃饭`
            }
     类的继承  
        // 声明 一个 Web类;这个 类 继承 People类
        class Web extends People{
            constructor(name,age){
                super(name,age) // 调用 父类的 constructor 一定要写
            }

        }
        let w = new Web('章三',18)
        }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ES6中,我们可以使用class关键字来定义一个,同时也可以使用extends关键字来实现继承。下面是一个使用ES6语法定义和继承的示例代码: ``` // 定义一个父 class Animal { constructor(name) { this.name = name; } speak() { console.log(`${this.name} makes a noise.`); } } // 定义一个子继承自父Animal class Dog extends Animal { constructor(name) { super(name); // 调用父的constructor方法 } speak() { console.log(`${this.name} barks.`); } } const d = new Dog('Mitzie'); d.speak(); // 输出 "Mitzie barks." ``` 以上代码中,Animal是一个父,其构造函数接受一个name参数,并定义了一个speak方法。而Dog继承自Animal,并且覆盖了speak方法,以实现不同的行为。 如果你想把以上代码从ES5转换成ES6,可以使用一些工具,如Babel等,将其转换成ES6语法。例如,以下是使用ES5语法定义和继承的示例代码: ``` // 定义一个父 function Animal(name) { this.name = name; } Animal.prototype.speak = function() { console.log(this.name + ' makes a noise.'); }; // 定义一个子继承自父Animal function Dog(name) { Animal.call(this, name); } Dog.prototype = Object.create(Animal.prototype); Dog.prototype.constructor = Dog; Dog.prototype.speak = function() { console.log(this.name + ' barks.'); }; var d = new Dog('Mitzie'); d.speak(); // 输出 "Mitzie barks." ``` 以上代码中,Animal是一个父,其构造函数接受一个name参数,并通过原型链定义了一个speak方法。而Dog继承自Animal,并使用Object.create()方法来创建一个新的对象,并将其原型设为Animal.prototype,以实现继承。同时,需要手动设置Dog.prototype.constructor属性,以确保其指向正确的构造函数。最后,覆盖原型上的speak方法以实现不同的行为。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值