先說封裝
封裝是一種通行于世的理念,甚至不限于編程領域,我用來寫這篇文章的電腦里面,就到處是封裝,我所在的公司,每個職能部門其實也是一種封裝,,,
然后,典型的面向程序編程語言C,難道就不能封裝了嗎?頭檔案這種設計就是封裝理念的一種體現,
然后是繼承
繼承顯然是一種語言特性,只需要編程語言和編譯器支持就行,不就是代碼復用的一種手段嗎?面向物件何德何能,就敢篡為己有?
最后是多型
多型倒是只有面向物件有,但從嚴格意義上來說,并不是核心特征,而是物件本身特征衍生出來的一種設計模式而已,
面向物件編程真正的特征是什么?
我認為是:資料和邏輯的統一,在面向物件編程中,一個型別里面既包含了物件屬性(資料),又包含了方法(邏輯),強調的是通過公開的方法去操作私有的資料,而不是在物件外部直接操作物件的資料,而且,對于一個物件而言,屬性(資料)才是主體,邏輯(方法)則是物件的能力的體現,
而面向程序編程則相反,雖然同樣有方法或者叫函式(邏輯),但邏輯才是主體,雖然也有變數可以存盤資料,但變數和屬性完全不是一回事,變數只不過是資料的抓手,而屬性則因為每個物件都是一個特定的實體,所以屬性可以完全代表資料,在面向程序的編程中,邏輯就如同生產線,而資料只是生產線加工生產的產品而已,
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/248482.html
標籤:面向對象
