2012年1月17日 星期二

{Interview 專區}物件導向

何為物件導向?
類別算是一個藍圖、一個範本、一個可參考的文件,他沒有 實體 (Instance),屬靜態的。
物件是一個看的到、摸的到的實體,屬於動態的,狀態會隨時改變,但架構與行為不會改變。
Ex: 類別:設計藍圖
物件:實際蓋好的房子
兩者關係:設計藍圖(類別)決定房子應該怎麼蓋,決定幾台電梯、幾間房間、走道如何設計。實際蓋好的房子(物件)是照著設計藍圖所蓋出來的房子,人只能照設計藍圖的設計使用這間房子。
來源:http://blog.miniasp.com/post/2009/08/27/OOP-Basis-What-is-class-and-object.aspx

物件導向三個特性
多型:http://www.dotblogs.com.tw/boei/archive/2010/07/07/16446.aspx
繼承的延申,多型可以讓處理同一類資料的類別擁有相同的函數,但是每個類別所實做出來的相同函數的功能不一定相同(每一Rule呼叫底層Ruls複寫Function)
多型中含多載(Overloading)-將一個涵數名稱,給一種以上的涵數實動,以便依據當時情況,擇一執行、蓋寫(Overriding)-將繼承下來的方法,以同名涵數蓋掉


封裝:將資料與操作此資料的涵數包在一起,成為一個物件

繼承:接父類別的所有屬性方法,並加以改造特性
參考資料:http://notepad.yehyeh.net/index.htm?Tutorial/CSharp/CH01/03ObjectOrient/3OOCharacter/