一、什么是面向對象開發?
什么是面向對象開發呢?事實上它是有一個參照系的,它參照的是面向過程開發,可能這么說還是有點迷糊,那就給大家舉一下生活中的例子。
人事架構圖
上圖是公司的人事架構圖
假如說你是公司的董事長,你的手下有幾千名員工,你想跟員工宣布下個季度的規劃,要想把這個戰略達成,得通過所有員工的一起努力。
** 面向過程的開發方式是:你得親自找這幾千名員工談話,把規劃告訴他們。**
但這個過程是很耗費時間和精力的,那就有一個更優的方式來解決它,那就是——面向對象開發。
面向對象開發的方式是:你只需跟你下級的員工說接下來的規劃,財務總監負責錢,總經理負責業務,至于開銷和業務,你不需要管,由他們向下一級傳達。他們分別有面向自己的對象去管理。
通過這個例子,你也許會稍有理解,面向對象是什么呢?
就是把復雜的事情模塊化,不同的功能劃分成不同的模塊,獨立出來處理。
它的好處是:
1. 會節省效率,更高效。
2. 代碼易于維護。
二、面向對象中對象指的是什么?它包括什么?
創建一個空對象
var obj = new Object();
那么對象的組成是什么呢?
對象由屬性和方法組成的
那屬性又是什么呢?
var arr = []; //創建一個數組
arr.num = 10; //給數組添加一個屬性 num 值是 10
console.log(arr.num); //10
由此可以看出,對屬性的操作跟變量是一樣的。屬性相當于是變量,屬性是對象下面的變量。
那方法又是什么呢?
方法
arr.getNum = function(){
alert( 123 );
}
arr,getNum(); //123
函數
var fn = function(){
}
fn();
方法的操作跟函數很像,方法就是對象下面的函數
那我們來寫一個最簡單的面向對象程序吧
var obj = new Object(); //空對象
obj.name = 'jam'; //給obj對象下面添加了屬性 name 值是 jam
obj.say = function(){
alert('hello');
}
obj.say(); //執行 => hello
關于面向對象就先說到這里 之后還會不定時分享一些的。