【前端三剑客之JavaScript】类与对象

面向对象:

三大特性:封装、继承、多态

优点:易维护、复用、扩展,由于面向对象有封装、继承、多态的特性,可设计出低耦合的系统使系统更加灵活更易于维护

缺点:性能比面向过程低

面向过程:

优点:性能比面向对象高,适合与硬件联系紧密的东西例如单片机采用面向过程编程

缺点:没有面向对象易维护、复用、扩展

类抽象了对象的公共部分,泛指某一大类(class),对象则特指某一具体的事物,通过类实例化一个具体的对象

类必须使用new关键字实例化。在ES6中类不存在变量提升,所以必须先定义类,才能通过类实例化对象。

类里面共有的属性和方法一定要加this使用!
class name{
    //class body
}

//创建实例
var xx = new name();
class Star{
    constuctor(name,age){
        this.name = name ;
        this.age = age ;
    }
    //类中添加方法
    sing(song){
        console.log(this.name + song);
    }
}
var lyf = new Star('liuyifei',16);
var lhc = new Star('liuhaocun',18);
console.log(lyf);
 console.log(lhc);
 lyf.sing('我和我的祖国');
 
 
 //类的继承
 class Starson extends Star{
     
 }
 var son = new Starson.money()();
 son.sing('小白船');//son 小白船

(1)通过class关键字创建类,类名习惯性定义首字母大写

(2)类里面有个constructor函数,可以接受传递过来的参数,同时返回实例对象

(3) constructor 函数只要new生成实例时,就会自动调用这个函数,如果我们不写这个函数,类也会自动生成这个函数

(4) 生成实例的new关键字不能省略

(5) 注意语法规范,创建类的时候类名后面不要加小括号,生成实例类名后面加小括号,构造函数不需要加function!

super关键字用于访问和调用对象父类的函数。可以调用父类的构造函数和普通函数(不用super关键字的时候遵循就近原则)
super关键字必须在子类的this之前调用!即必须先用父类的构造方法,再使用子类的构造方法!

记忆:百善孝为先——>父亲放首位!
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值