<script>
// 定义一个类,并构造方法
class Father {
constructor(name, age, sex) {
this.name = name;
this.age = age;
this.sex = sex;
}
// 添加一个方法
sayhelo() {
console.log("这是父类的sayhello方法");
}
// 添加一个静态方法,类可以直接调用
static sayHi() {
console.log("这是类可以直接调用的方法");
}
}
// 子类继承自父类
class Son extends Father {
// 开始给儿子类构造方法
constructor(name, age, sex) {
// 这些属性来自父亲,直接用super就可以继承过来了
super(name, age, sex); /* 直接super(),把父亲的属性写在()里面 */
}
/* 儿子类也可以有自己的方法和属性 */
saymy() {
console.log("这是我自己的方法");
}
}
// 实例化一个自类对象,打印出里面的方法和属性
const xiaoming = new Son("小明", 12, "男");
console.log(xiaoming.name);
xiaoming.sayhelo();
xiaoming.saymy();
Father.sayHi(); /* 因为是静态static,所以可以直接父类调用,不需要实例化 */
</script>