js高级(面向对象)

面向对象编程

(1)概述
1,面向过程编程POP:就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步步实现,使用的时候在一个一个依次调用;
2,面向对象编程OOP:把事务分解成为一个个对象,然后由对象之间分工与合作;
在面向对象程序开发思想中,每一个对象都是功能中心,具有明确的分工;
面向对象编程具有灵活、代码可复用、容易维护和开发,更适合多人合作的大型软件项目;
特性:封装性、继承性、多态性
区别:
面向过程编程:优点是性能较高,适合和硬件联系很紧密的东西,例如单片机;缺点是不易维护、不易复用、不易扩展;
面向对象编程:优点是易维护等,由于其特性可以设计出低耦合的系统,使系统更加灵活;缺点是性能较低;
(2)类和对象
类抽象了对象的公共 部分,它泛指某一大类(class);
对象特指某一个,通过类实例化一个具体的对象;
面向对象的思维特点:
1,抽象对象共有的属性和行为组织(封装)成一个类(模板);
2,对类进行实例化,获取类的对象;
(3)类的创建
1,通过class关键字创建类,类名首字母大写;
2,类里面有一个constructor函数,可以接受传递过来的参数,同时返回示例对象;
3,constructor函数只要new生成实例时,就会自动调用这个函数,不写这个函数,类也会自动生成这个函数;
4,生成实例new不能省略;
5,注意语法规范,创建类,类名后面不要加小括号;生成实例,类名后面加小括号;构造函数不需要加function;
(4)类的继承
1,extends:子类可以继承父类的属性和方法;
2,super:调用父类的构造函数,必须在子类this之前调用;
3,先有类才能实例化,所以必须先定义类;
4,类里面共有的属性和方法要加this才能使用;
5,constructor中的this指向实例对象,方法中的this指向方法的调用者;

你可能感兴趣的:(js高级(面向对象))