iT邦幫忙

DAY 14
2

只是路過 HTML5 系列 第 14

程式基礎概念─物件導向(封裝)

Object-Oriented Programming 物件導向程式設計

昨天寫的是方法/屬性的筆記,
今天想要回過頭,打一些程式基礎的概念,
來分享物件導向的三大特性之一,封裝

(抱歉,新手筆記、分享順序都跳來跳去的)
恩恩....我們為什麼要寫程式語言?

以前我不太能夠理解這種,寫QB會有藍藍的畫面、
還有印出很多01010100010跟聖誕樹與九九乘法表。
二進位、十進位、十六進位算來算去的,迴圈、遞迴、陣列等等等

那個時候我覺得好無聊喔,這到底要做什麼?
跟數學習題算出幾隻雞幾隻兔子幾隻腳的感覺一樣。
我沒有邏輯腦袋,我就是喜歡美的東西,
我喜歡拍照、我喜歡排版,
我腦袋不好、我數學很差,阿我學這個要幹嘛?

恩....小時候不懂事。

長大之後發現,原來程式語言可以幫我們做很多事情。
程式和生活結合,更有效率的管理、更貼心的改善生活、更有想法的互動設計,
有時候強大的好像可以改變世界。

所以漸漸變得有趣起來,可能是在學校和業界的感覺很不一樣吧,概念的東西總是很抽象。

好,然後我又離題了,
總之我現在要筆記、物件導向的三個特性: 封裝繼承多型

先來看封裝是什麼,
wiki上面有寫:

封裝(英語:Encapsulation)是指,
一種將抽象性函式介面的實作細節部份包裝、隱藏起來的方法。

老實說...
果然是很抽象阿...
抽象性函式介面的實作....
明明是中文,可是卻看不懂的感覺好難受。

上一篇文章用電風扇來舉例,本篇也繼續用電風扇

先來介紹,
類別是什麼?
類別是具有相同屬性和功能的物件集合

例如:電風扇是一個類別。裡面有大小、尺寸、顏色、可以轉動、可以定時等屬性。

那物件就是大電扇、小電扇、立扇等等,

電風扇類別實體化
*實體化就是建立物件的過程
*實體就是一個真實的物件。

程式寫法(使用new關鍵字來建立。):

電風扇 我的電風扇=new 電風扇();

電風扇 我的電風扇=new 電風扇();→做了兩件事情

1.電風扇 我的電風扇//宣告一個電風扇類別的物件名稱為"我的電風扇"
2.我的電風扇=new 電風扇()//此"我的電風扇"物件實體化

將方法和屬性包裝在類別中,透過類別的實作來實現。
這種把方法和屬性放在類別裡面 叫做封裝。

將物件內的屬性都封裝起來,並提供一個單一對外存取的窗口,
任何物件要存取這個變數都必須透過這個窗口。

封裝的好處是什麼?

以下是維基百科的說明

適當的封裝,可以將物件使用介面的程式實作部份隱藏起來,不讓使用者看到,
同時確保使用者無法任意更改物件內部的重要資料。
它可以讓程式碼更容易理解與維護,也加強了程式碼的安全性。

<待續>


上一篇
HTML5 屬性、方法和事件
下一篇
程式基礎概念─類別
系列文
只是路過 HTML5 30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 則留言

0
pajace2001
iT邦研究生 1 級 ‧ 2012-10-23 10:17:11

讚讚讚
我今年也是第一次參加鐵人分享~
我跳得比你還誇張~~~臉紅

我要留言

立即登入留言