// 任何一个类 ,它的内部都是以 constructor 方法开始的
class Parent{
constructor(name="wukong",weapon){
this.name=name
this.weapon = weapon
}
getName(){ // get方法,获取实例对象中的属性(不定义也可以,定义只是为了对获得的数据做修改)
console.log(this.name)
}
setName(value){ // set方法,设置或修改实例对象中的属性(不定义也可以,定义只是为了对要设置的数据做修改)
this.name = value
}
static tell(){ // 定义静态方法时,使用static 关键字
console.log('tell')
}
}
Parent.story = '西游记'; //定义静态属性,静态属性没有关键字,所以在定义了类之后,直接添加
Parent.tell(); //调用静态方法的时候,是在 类 上调用,而不是在 实例 上调用
console.log(Parent.story); // 查看静态属性,同样也是在 类 上查看
var obj = new Parent('sunwk','jingubang!')
console.log(obj); // {name: "sunwk", weapon: "jingubang!"}
obj.getName(); // sunwk
obj.setName('tangsanzang')
console.log(obj); //{name: "tangsanzang", weapon: "jingubang!"}
class Child extends Parent{
constructor(name="bajie",weapon ){ // 指定了这个方法传入的参数,以及它的默认值
super(name) // 使用super()的时候,就相当于调用了父类中的constructor
// 并将子类中的name传入,覆盖父类中的name
this.weapon = "dingpa!" // 如果子类中需要添加新的属性,必须在 super() 之后写
}
}
var obj1 = new Child();
console.log(obj1) // {name: "bajie", weapon: "dingpa!"}
class 类
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 一、Math类 Math类中提供了一系列基本数学运算和几何运算的方法; 该类的构造方法被修饰为private,因此...