对象-面向对象简介
程序员文章站
2023-12-26 16:11:15
...
面向对象:是一种思想,不是具体的语言
对比面向过程:
- 面向过程:思考的切入点是功能的步骤
- 面向对象:思考的切入点是对象的划分(有哪些对象)
举例:用【大象装冰箱】来说明
// 面向过程写法
// 1. 冰箱门打开
function openFrige(){
}
// 2. 大象装进去
function elephantIn(){
}
// 3. 冰箱门关上
function closeFrige(){
}
closeFrige();
// 面向对象写法(先找对象:有大象和冰箱)
/**
* 大象
*/
function Elephant(){
}
/**
* 冰箱
*/
function Frige(){
}
Frige.prototype.openDoor = function(){
}
Frige.prototype.closeDoor = function(){
}
Frige.prototype.join = function(something){
}
// 虽然不能立即调用,但是通过对象的方式已经把功能描述完了
// 1. 冰箱门打开
var frig = new Frige();
frig.openDoor();
// 2. 大象装进去
var ele = new Elephant();
frig.join(ele);
// 3. 冰箱门装上
frig.closeDoor();
也能用如下方法调用:
// 面向对象写法(先找对象:有大象和冰箱)
/**
* 大象
*/
function Elephant(){
}
/**
* 冰箱
*/
function Frige(){
}
Frige.prototype.openDoor = function(){
}
Frige.prototype.closeDoor = function(){
}
Frige.prototype.join = function(something){
this.openDoor();
// 装东西
this.closeDoor();
}
var frig = new Frige();
frig.join(new Elephant());
面向对象更容易组合拆分、进行单元测试,更利于书写大型项目。
之所以介绍面向对象,是因为ES6会 学习新的语法来应付面向对象的场景。