文章分類

2013年7月27日 星期六

[JAVA] 物件導向程式設計(OOP)

現今主要的兩種程式設計方法分為

1. procedural

(1) 一個procedure就是程式指令的集合,並用來執行特定任務。
(2) Procedures通常是分開操作data的,data大多從一個procedure傳到另一個。
(3) 由於data和code的分開,常常造成一些問題。

如: 資料結構改變,操作資料的code勢必也要改變,來接受新的格式,故造成程式設計師之負擔,甚至程式碼有極大的可能產生bugs。

2. object-oriented

(1)物件就是一個software entity包含著data和procedures。
(2)物件中的data又稱attributes,物件中的procedures又稱methods。
(3)藉由封裝(Encapsulation)和資料隱藏(Data hiding)解決data和code之分開問題。

封裝(Encapsulation): 將data和code組成一個單一物件。
資料隱藏(Data hiding): 是一個物件將它的code對其他的object隱藏的能力。

只有物件的methods才能直接使用或改變物件的data。
一物件通常隱藏自己的data,但允許外面的code去使用此物件的methods去操作此物件的data。

滿瞎的結論:
procedural programming 著重在建立procedures
object-oriented programming 著重在建立objects

沒有留言:

張貼留言