面向对象: 一种编程思想,跟具体的语言
对比面向过程:
- 面向过程: 思考的切入点是功能的步骤【大象装冰箱: 打开冰箱,将大象塞进去,关闭冰箱】
//1.打开冰箱
function openRefrigerator() {}
openRefrigerator();
//2.大象装冰箱
function elephantIn() {}
elephantIn();
//3.关闭冰箱
function closeRefrigerator() {}
closeRefrigerator();
- 面向对象(应付大型的工程): 思考的切入点是对象的划分【大象装冰箱: 不考虑做什么,直接找对象(大象,冰箱)】
// 不管做什么,直接找对象: 大象,冰箱
// 大象
function Elephant() {}
// 冰箱
function Refrigetator() {}
// 打开冰箱门
Refrigetator.prototype.openDoor = function() {};
// 关闭冰箱
Refrigerator.prototype.closeDoor = function() {};
// 装进冰箱
Refrigerator.prototype.joinIn = function() {};
// 然后开始大象装冰箱
var refrigerator = new Refrigerator();
// 1.打开冰箱
refrigerator.openDoor();
// 2.大象装冰箱
refrigerator.joinIn(elephant);
// 3.关闭冰箱
refrigerator.closeDoor();
// 将代码整合,调用一个方法就可以装了,不仅大象
Refrigerator.prototype.joinIn = function(something) {
// 打开冰箱
this.openDoor();
// 关闭冰箱
this.closeDoor();
};
面向过程和面向对象的区别: 对于小东西来说,面向过程更加精简,所以适合小型项目。 但是面向对象的可扩展性更高,适合大型项目。---> 冰箱不止可以装大象了,