<script>
class Animal {
constructor(name, gender) {
this.name = name;
this.gender = gender;
}
// 这个方法相当于以前加到原型上的实例方法
run() {
console.log('跑吧');
}
// 这个方法加了static修饰符,就是以前加到类身上的静态方法
static getMaxAge() {
console.log(250);
}
}
// 动物拥有的属性方法,按照常理来讲,狗应该也有,所有这里通过extends关键字实现继承,提高复用,减少冗余
class Dog extends Animal {
eat() {
console.log('吃屎');
}
}
let chaiquan = new Dog('柴犬', '公');
console.log(chaiquan.name);
console.log(chaiquan.gender);
chaiquan.run();
chaiquan.eat();
// 人也是动物,也继承一下
class Person extends Animal {
// 如果继承的子类拥有独特的属性,需要写构造器来添加,
// 但是构造器里面的第一句话必须是super()调用
constructor(name, gender, price) {
super(name, gender);
this.price = price;
}
study() {
console.log('闻鸡起舞');
}
}
let xiaoming = new Person('小明', '男', '一张毛爷爷');
console.log(xiaoming.name);
console.log(xiaoming.gender);
console.log(xiaoming.price);
xiaoming.run();
xiaoming.study();
// Person也继承了Animal的静态方法,所以可以直接拿来调用
Person.getMaxAge()
</script>
01_18.class继承
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 接口可以继承接口。抽象类可以实现(implements)接口,抽象类可以继承具体类。抽象类中可以有静态的main方...
- Xamarin XAML语言教程构建ControlTemplate控件模板 控件模板ControlTemplate...
- 如果你已经看过第一篇揭秘babel的魔法之class魔法处理,这篇将会是一个延伸;如果你还没看过,并且也不想现在就...