面向對象: 面向對象方法是軟體工程、程式設計的主要方向,也是最有效、最實用和最流行的軟體開發方法之一。 C#是完全面想對象(OOP)的程式設計語言,具有面向對象程式設計方法的所有特性。 面向對象方法的基本思想就是從所要解決的問題本身出發,儘可能運用自然的思維方式(分析、抽象、分類、繼承),以現實世界 ...
面向對象:
面向對象方法是軟體工程、程式設計的主要方向,也是最有效、最實用和最流行的軟體開發方法之一。
C#是完全面想對象(OOP)的程式設計語言,具有面向對象程式設計方法的所有特性。
面向對象方法的基本思想就是從所要解決的問題本身出發,儘可能運用自然的思維方式(分析、抽象、分類、繼承),以現實世界中的事物為中心思考問題、認識問題,並根據這些事務的本質特征,把他們抽象表示為系統中的對象,作為系統的基本構成單位。
面向對象的最基本的特征是抽象性、封裝性、繼承性、多態性。
對象(object):
客觀世界中任何事物都可以看成一個對象,汽車、房屋、狗都可以看成一個對象。
任何對象都應當具有屬性(attribute)和行為(behavior)兩個要素。
對象 = 屬性 + 行為(方法、操作)
類(class):
類表示具有相同屬性和行為的一組對象的集合。
C#程式的源代碼必須放到類中,一個程式至少包括一個類。
類是抽象的,不占用記憶體,而對象是具體的,占用存儲空間
抽象(abstraction):
抽象是處理事務複雜性的方法,只關註與當前目標有關的方面,而忽略與當前目標無關的方面。
int是對所有整數的抽象,double是對所有雙精度浮點型數的抽象。
封裝(encapsulation):
將有關的數據和操作代碼封裝在一個對象中,形成一個基本單位,各個對象之間相對獨立,互不幹擾。
將對象中的某些部分對外隱藏,即隱藏內部細節,只留下少量介面,以變與外界聯繫,接收外界聯繫。
一臺電視機就是一個封裝體,從用戶的角度只需要關註開關按鈕,音量開光等,不需要關心其內部構造
繼承
如果在軟體開發中已建立了一個名為A的類,又想建立一個名為B的類,B與A內容基本相同,B在A的基礎上增加了一些新的屬性和行為。顯然不必再從頭設計一個新類,只需在A類的基礎上增加一些新的內容,B擁有A的全部屬性與方法,稱作B類對A類的繼承。A類稱為基類或父類,B類稱為派生類或子類。
繼承機制的優勢在於降低了軟體開發的複雜性和費用,使軟體系統易於擴充,大大縮短了軟體開發周期,對於大型軟體的開發具有重要的意義。
多態(polymorphism):
在基類中定義的屬性或方法被派生類繼承後,可以具有不同的數據類型或表現出不同的行為。