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
沒有留言:
張貼留言