前言:
而今同学们对“js如何实现一个类怎么实例化这个类”大致比较珍视,你们都想要了解一些“js如何实现一个类怎么实例化这个类”的相关文章。那么小编同时在网摘上汇集了一些有关“js如何实现一个类怎么实例化这个类””的相关文章,希望姐妹们能喜欢,咱们快快来学习一下吧!面向对象
面向对象,Object Oriented,软件开发方法,一种编程范式。
JavaScript类(ES6)
面向对象,关键字:class、constructor、extends、supper、static;
属性:公有属性、私有属性、静态属性;
方法(函数):构造函数(有且只能有1个)、set get方法、普通方法、静态方法。
案例代码
class Person { name = '' // 私有属性 _age = 0 // 构造方法 constructor(name, age = 21) { this.name = name this._age = age; } // set get set name(name) { this.name = name } get name() { return this.name } set age(age) { this._age = age } get age() { return this._age } info() { console.log(this.name + " | " + this._age) }}let p1 = new Person('宋江')p1.info()let p2 = new Person('卢俊义', 34)p2.info()let p3 = new Person()p3.name = '吴用'p3.age = 35p3.info()console.log(Person.prototype) //{}console.log(p1.__proto__) //{}面向对象,继承
继承(关键字extends):
只支持单继承,不支持多继承,可多层继承。
类与类之间,存在相同(共性)的内容,并满足子类时父类中的一种,可以考虑使用继承,用来优化代码。
案例代码
class Person { name = '' // 私有属性 _age = 0 // 构造方法 constructor(name, age = 21) { this.name = name this._age = age; } // set get set name(name) { this.name = name } get name() { return this.name } set age(age) { this._age = age } get age() { return this._age } info() { console.log(this.name + " | " + this._age) }}class Student extends Person { _classes = '' constructor(name, age, school, classes = '') { super(name, age); this.school = school; this._classes = classes; } info() { console.log(super.name + " | " + super.age + " | " + this.school + " | " + this._classes) }}let s1 = new Student("林冲", 24, "私塾", "小学")s1.info()console.log(Student.prototype) // Person {}console.log(s1.__proto__) // Person {}
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。
标签: #js如何实现一个类怎么实例化这个类