物件導向是一種設計思想,其實就是將一些功能進行封裝,使得這個功能有乙個可以使用的實體。比方說狗就可以當成乙個物件,其完成的功能是叫。在
c#中物件導向也是一樣的,其也有三大屬性:封裝,繼承,多型。下面就來看看是如何在
c#中實現的。
1、首先先說封裝:
還是以狗叫為例,其功能為叫,按照一般的寫法就會在主窗體裡面寫一下**就可完成
private void button1_click(object sender,eventargs e)
但對其進行封裝後就會有一下
class dog
} private void button1_click(object sender,eventargs e)
這樣就簡單的完成了對狗叫這個能能的封裝,這樣做是有好處的: 1
)將主窗體和功能**分開,減少耦合
2)可以實現類內部的自由修改而不影響別的部分
3)類對外也有了清晰的可呼叫的介面
2、其次再來說這個繼承:
還以上面的為例,狗除了是狗它還是動物,所以動物所具有的一些東西和功能,狗都有,但是狗有的動物不一定有(比如抓兔子)。這種情況就叫狗繼承於動物。用**展示就是:
class animal
}class dog:animal
}
主函式不變,還是上面的,這樣狗類就繼承了
animal
的屬性name
。當然繼承還是有很多好處的,比如避免**的重複,使得**得到共享,還有利於修改和擴充套件。
3、最後再說多型:
所謂多型就是不同的物件可以執行不同的動作。還以叫這個動作為例,執行這個動作的可以是狗叫,貓叫等等。具體**如下:
abstract class animal
class dog:animal }
class cat:animal
}
而在主窗體上則換成以下的:
animal animal1= new dog();
animal animal2= new cat();
animal1.shout();
animal2.shout();
多型在物件導向過程的設計中應用的非常廣泛,尤其是在設計模式中,雖然我看了一點,但是基本上都是多型進行實現的。
最後總結一下:
由於物件導向程式的這些個特性使得物件導向程式設計有許多的優點:
符合人們習慣的思維方式,易於維護和功能的擴充套件,**重用性好等等一些優點。所以這些特性就是我們學習面型物件程式設計的基礎,其重要性不言而喻。
C 中的物件導向程式設計
繼承密封類 子類的初始化順序 多型所有類的父類systemobject c 中的物件導向程式設計是指3個基本特徵 封裝 繼承 多型。當類的內部資料沒有被封裝時,若把字段定義為公共字段,則外部物件可以對內部資料進行任意的操作,很可能導致不當的操作結果。例如 public class person cl...
C 中的物件導向程式設計
所有的物件導向語言都具有3個基本特徵,c 也是不例外的。1 封裝 封裝指的是把類內部的資料隱藏起來,不讓物件例項直接對其操作。在c 中,封裝可以通過public private protected和internal等關鍵字來體現。c 對保護內部資料狀態提供了一種方式,叫做屬性機制。public cl...
C 中的物件導向筆記
公共繼承,相當於屬於關係。如class b public a,表示b就是a,a做到的,b也能做到。class a class b public a a a b b a b 錯誤,因為a不一定是b b a 正確,b就是a public繼承下,會出現名字覆蓋 b與a若有同名函式,則a中的該函式將被覆蓋,...