面向对象编程 Es6中的类与对象

本文详细介绍了JavaScript ES6中的类和对象,包括类的声明、构造函数、方法定义,以及类的继承。通过`super`关键字,我们可以调用父类的构造函数和普通方法。此外,还展示了如何在子类中扩展父类的方法,并通过实例来演示了这些概念。文章强调了继承中的属性和方法查找的就近原则,并提供了多个示例来说明。
摘要由CSDN通过智能技术生成

面向对象编程
Es6中的类与对象
class声明,创建类,里面包含一个 constructor ,new的参数通过constructor来完成的!可以在里面直接添加方法,通过传参调用。
类的继承
1.
super可以访问和调用对象父类上的函数。可以调用父类的构造函数,也可以调用父类的普通函数
class Father {
constructor(x,y){
this.x = x;
this.y = y;
}
sum(){
console.log(this.x + this.y) //指向父类constructor
}
}
class Son extends Father {
constructor(x,y){
super(x,y); //调用了父类中的构造函数,然后把x,y传给父类就可以了
}
}
/**
* 实例化了子类 把子类1,5传给了constructor x,y,
又使用了super调用了父类的constructor,
把1,和5传给了父类中的constructor的x,y 就位1,5了
**/
var son = new Son(1,5)
son.sum();
2.

// super 关键字调用父类普通函数
class Father {
say(){
return ‘我是爸爸’;
// console.log(‘我是爸爸’);
}
}
/**
* super.say()就是调用父类的普通函数 say()这个函数
* 子类是可以调用父类的普通函数的,调的方法是 super.say()就可以了。
*
* 继承中的属性或者方法查找原则:就近原则
* > 如果子类没有,会去上查找父类,如果父类有没有,会提示你找不到这个方法
* **/
//就近原则输出,如果子类没有,会去上查找父类,如果父类有没有,会提示你找不到这个方法
class Son extends Father{
say(){
// console.log(‘我是儿子’);
console.log(super.say()+‘的儿子’);
}
}

    var son = new Son();
    son.say();

//父类有加法方法
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 调用父类的构造函数
//super 必须在子类的this之前调用 强制性的要求 不会报错了
super(x, y);
this.x = x;
this.y = y;
}
//做减法操作的
subtract(){
//儿子独有的减法,extends Father又继承了父亲的加法
console.log(this.x - this.y);
}
}
var son = new Son(5,3)// 把5,3传给子类的constructor的 x , y
//把son的5,3传给子类的constructor
son.subtract();
son.sum()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bella-520

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值