对象-面向对象简介

面向对象:是一种思想,不是具体的语言

对比面向过程:

  • 面向过程:思考的切入点是功能的步骤
  • 面向对象:思考的切入点是对象的划分(有哪些对象)

举例:用【大象装冰箱】来说明

// 面向过程写法
// 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会 学习新的语法来应付面向对象的场景。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。