面向对象编程介绍
面向过程编程
面向过程就是分析解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个的依次调用就行
面向对象编程 OOP(Object Oriented Programming)
面向对象是把事务分解成一个个对象,然后由对象之间分工与合作
在面向对象程序开发思想中,每一个对象都是功能中心,具有明确分工
面向对象编程具有灵活性,代码可复用,容易维护和开发的优点,更适合多人合作的大型软件项目
- 面向对象的特性:
- 封装性
- 继承性
- 多态性
面向过程和面向对象的对比
| 项目 | 优点 | 缺点 |
|---|---|---|
| 面向过程 | 性能比面向对象高,适合跟各种硬件联系很紧密的例如单片机就采用的面向过程 | 没有面向对象以维护、易复用、易扩展 |
| 面向对象 | 易维护、易复用、易扩展,由于面向对对象有封装,继承多态性的特性,可以设计出低耦合的系统,使系统更加灵活,更加易维护 | 性能比面向过程低 |
ES6中的类和对象
对象
现实生活中:万物皆对象,对象是一个具体的事物,看得见摸得着的实物,例如,一本书、一辆汽车、一个人可以是"对象"、一个数据库、一张网页、一个与远程服务器的连接亦可以是对象。
在JavaScript中,对象是一组无序的相关属性和方法的集合,所有的事物都是对象,例如字符串,数值,数组、函数等
对象
- 属性 :事物的特征,在对象中用属性来表示
- 方法 :事物的行为,在对象中用方法来表示
类 class
创建类
//1.创建class创建一个明星类
class Star {
constructor(name, age) {
this.name = name;
this.age = age
}
}
//2.利用类创建对象 new
var fbb = new Star("老范", "30");
var ldh = new Star("老刘", "40");
console.log(fbb.name);
console.log(fbb.age);
console.log(ldh);
类constructor构造函数
constructor()方法是类的构造函数(默认方法),用于传递参数,返回实例对象,通过new命令生成对象实例时,自调用该方法。如果没有显示定义,类内部会自动给我们创建一个constructor()
类添加方法
//1.创建class创建一个明星类
class Star {
constructor(name, age) {
this.name = name;
this.age = age
}
//不需要写',',不需要写function
say(){
console.log("changge")
}
}
类的继承
现实中的继承:子承父业,比如我们继承了父亲的姓。
程序中的继承:子类可以继承父类的一些方法。
继承中的属性或者方法查找原则:就近原则
- 继承中如果实例化子类输出一个方法,先看子类有没有这个方法,如果有就先执行子类
- 继承中,如果子类里面没有,就去查找父类里面有没有,如果有,就执行父类的这个方法(就近原则)
语法:
class Father {
constructor(car, house,age,gender,deposit) {
this.car = car;
this.house = house;
this.age = age;
this.gender = gender;
this.deposit = deposit;
}
briefIntroduction() {
console.log(this.car,this.house , this.age ,this.gender,this.deposit)
}
}
//extends关键字可以让子级继承父级
class Son extends Father {
constructor(car, house,age,gender,deposit) {
//super关键字用于访问和调用父级上的函数,可以调用父级的构造函数,也可以调用父级的普通函数
super(car, house,age,gender,deposit)
}
}
var son = new Son("BWM","Villa" , 19 ,"boy", 10000000000000000);
son.briefIntroduction()

被折叠的 条评论
为什么被折叠?



