|
面向?qū)ο螅?/p> 面向?qū)ο蠓椒ㄊ擒浖こ?、程序設計的主要方向,也是最有效、最實用和最流行的軟件開發(fā)方法之一。 C#是完全面想對象(OOP)的程序設計語言,具有面向?qū)ο蟪绦蛟O計方法的所有特性。 面向?qū)ο蠓椒ǖ幕舅枷刖褪菑乃鉀Q的問題本身出發(fā),盡可能運用自然的思維方式(分析、抽象、分類、繼承),以現(xiàn)實世界中的事物為中心思考問題、認識問題,并根據(jù)這些事務的本質(zhì)特征,把他們抽象表示為系統(tǒng)中的對象,作為系統(tǒng)的基本構(gòu)成單位。 面向?qū)ο蟮淖罨镜奶卣魇浅橄笮浴⒎庋b性、繼承性、多態(tài)性。
對象(object): 客觀世界中任何事物都可以看成一個對象,汽車、房屋、狗都可以看成一個對象。 任何對象都應當具有屬性(attribute)和行為(behavior)兩個要素。 對象 = 屬性 + 行為(方法、操作)
類(class): 類表示具有相同屬性和行為的一組對象的集合。 C#程序的源代碼必須放到類中,一個程序至少包括一個類。 類是抽象的,不占用內(nèi)存,而對象是具體的,占用存儲空間 抽象(abstraction): 抽象是處理事務復雜性的方法,只關注與當前目標有關的方面,而忽略與當前目標無關的方面。 int是對所有整數(shù)的抽象,double是對所有雙精度浮點型數(shù)的抽象。
封裝(encapsulation): 將有關的數(shù)據(jù)和操作代碼封裝在一個對象中,形成一個基本單位,各個對象之間相對獨立,互不干擾。 將對象中的某些部分對外隱藏,即隱藏內(nèi)部細節(jié),只留下少量接口,以變與外界聯(lián)系,接收外界聯(lián)系。 一臺電視機就是一個封裝體,從用戶的角度只需要關注開關按鈕,音量開光等,不需要關心其內(nèi)部構(gòu)造
繼承 如果在軟件開發(fā)中已建立了一個名為A的類,又想建立一個名為B的類,B與A內(nèi)容基本相同,B在A的基礎上增加了一些新的屬性和行為。顯然不必再從頭設計一個新類,只需在A類的基礎上增加一些新的內(nèi)容,B擁有A的全部屬性與方法,稱作B類對A類的繼承。A類稱為基類或父類,B類稱為派生類或子類。 繼承機制的優(yōu)勢在于降低了軟件開發(fā)的復雜性和費用,使軟件系統(tǒng)易于擴充,大大縮短了軟件開發(fā)周期,對于大型軟件的開發(fā)具有重要的意義。
多態(tài)(polymorphism): 在基類中定義的屬性或方法被派生類繼承后,可以具有不同的數(shù)據(jù)類型或表現(xiàn)出不同的行為。
|
|
|