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

本文介绍了面向对象编程的三大特性:封装、继承和多态,及其带来的易维护、复用和扩展的优点,同时也提到了性能上的劣势。相比之下,面向过程编程虽然性能更高,但不易于维护和扩展。类和对象的概念被阐述,包括如何通过类创建实例以及类的继承。示例展示了如何创建和使用Star类,并创建子类StarSon进行继承。最后,强调了在JavaScript中使用类的关键字和规范。
摘要由CSDN通过智能技术生成
面向对象:

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

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

缺点:性能比面向过程低

面向过程:

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

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

类抽象了对象的公共部分,泛指某一大类(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之前调用!即必须先用父类的构造方法,再使用子类的构造方法!

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值