类的方法
2019-10-27 本文已影响0人
GaoEnron
类的创建和类中方法的创建
{
// 创建类的使用操作
class Star {
constructor(uname) {
this.uname = uname;
}
// 类里面的方法不需要写function
sing() {
console.log("我在唱歌");
}
}
// 生成我的对象
var ldh = new Star("liuDeHua");
console.log('输出对象的名字' + ldh.uname);
ldh.sing();
}
子类调用父类的方法使用super 调用父类的构造器
继承时候就近原则,先从子类查找,然后再查找父类
{
class Father {
constructor(x,y) {
this.x = x;
this.y = y;
}
sum() {
console.log(this.x + this.y);
}
}
class Son extends Father {
constructor(x,y) {
super(x, y); // 使用super调用父类的构造器
}
}
var oneSon = new Son(3, 5);
oneSon.sum();
}
类中实例化 super 必须放到this之前
{
class Father {
constructor(x,y) {
this.x = x;
this.y = y;
}
sum() {
console.log(this.x + this.y);
}
}
class Son extends Father {
constructor(x,y) {
super(x, y); // 使用super调用父类的构造器
this.x = x;
this.y = y;
}
substract() {
console.log(this.x - this.y);
}
}
var oneSon = new Son(3, 5);
oneSon.sum();
oneSon.substract();
}
this 调用当前实例的方法和实例变量操作
{
class Father {
constructor(x,y) {
this.x = x;
this.y = y;
}
sum() {
console.log(this.x + this.y);
}
}
class Son extends Father {
// 公有属性和方法必须使用 this 调用
constructor(x,y) {
super(x, y); // 使用super调用父类的构造器
this.x = x;
this.y = y;
this.sing(); // 创建相应属性和方法
}
sing() {
console.log("调用唱歌方法");
}
substract() {
console.log(this.x - this.y);
}
}
var oneSon = new Son(3, 5);
oneSon.sum();
oneSon.substract();
}