您的位置:首页 > 汽车 > 时评 > 深圳网站程序开发制作_重庆建设雅马哈125价格_北京百度总部_网站开发公司排行榜

深圳网站程序开发制作_重庆建设雅马哈125价格_北京百度总部_网站开发公司排行榜

2025/1/1 11:01:06 来源:https://blog.csdn.net/qq_38779592/article/details/144616044  浏览:    关键词:深圳网站程序开发制作_重庆建设雅马哈125价格_北京百度总部_网站开发公司排行榜
深圳网站程序开发制作_重庆建设雅马哈125价格_北京百度总部_网站开发公司排行榜

这里写目录标题

  • 一、class 类的用法
  • 二、类的继承

一、class 类的用法

JS语言中,生成实例对象的传统方法是通过构造函数:

        function Person(name,age){this.name=name;this.age=age;}Person.prototype.sayName=function(){return this.name}let p=new Person('小马哥',18);console.log(p);//Person {name: '小马哥', age: 18}

ES6 提供了更接近传统语言的写法,引入了 Class(类)这个概念,作为对象的模板。通过class关键字,可以定义类。
基本上,ES6 的class可以看作只是一个语法糖,它的绝大部分功能,ES5 都可以做到,新的class写法只是让对象原型的写法更加清晰、更像面向对象编程的语法而已。上面的代码用 ES6 的class改写,就是下面这样

        class Person{// constructor方法 是类的默认方法,通过new命令生成对象实例时,自动调用该方法,一个类必须有constructor方法,如果没有定义,会被默认添加constructor(name, age) {this.name = name;this.age = age;}//等同于Person.prototype = function sayName(){}sayName(){return this.name;}}console.log(new Person('小马哥',18));

类的方法内部如果含有this,它默认指向类的实例.

二、类的继承

        class Animal{// 实例化的时候会立即被调用constructor(name, age){this.name = name;this.age = age;}setName(){return this.name;}setAge(){return this.age;}}class Dog extends Animal{constructor(name, age, color){// 如果 子类 继承了 父类,且 子类 中写了构造器,则 子类 构造器的 super 必须要调用super(name, age);  // 等同于 Animal.call(this,name,age); 继承父类的属性this.color = color;}// 子类自己的方法setColor(){return `${this.name}${this.age}岁了,它的颜色是${this.color}`;}// 重写父类的方法setName(){// super 相同于 Animalreturn this.name + super.setAge() + this.color;}}let d1 = new Dog('小黄', 28, 'red');console.log(d1.setAge());     // 调用继承父类的方法console.log(d1.setColor());   // 调用子类自己的方法console.log(d1.setName());    // 调用重写父类的方法

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com