C# 面向對象

面向對象:spa

面向對象方法是軟件工程、程序設計的主要方向,也是最有效、最實用和最流行的軟件開發方法之一。設計

C#是徹底面想對象(OOP)的程序設計語言,具備面向對象程序設計方法的全部特性。對象

面向對象方法的基本思想就是從所要解決的問題自己出發,儘量運用天然的思惟方式(分析、抽象、分類、繼承),以現實世界中的事物爲中心思考問題、認識問題,並根據這些事務的本質特徵,把他們抽象表示爲系統中的對象,做爲系統的基本構成單位。繼承

面向對象的最基本的特徵是抽象性、封裝性、繼承性、多態性接口

 

對象(object):事務

客觀世界中任何事物均可以當作一個對象,汽車、房屋、狗均可以當作一個對象。內存

任何對象都應當具備屬性(attribute)和行爲(behavior)兩個要素。開發

對象 = 屬性 + 行爲(方法、操做)io

 

類(class):程序設計

類表示具備相同屬性和行爲的一組對象的集合。

C#程序的源代碼必須放到類中,一個程序至少包括一個類。

類是抽象的,不佔用內存,而對象是具體的,佔用存儲空間

抽象(abstraction):

抽象是處理事務複雜性的方法,只關注與當前目標有關的方面,而忽略與當前目標無關的方面。

int是對全部整數的抽象,double是對全部雙精度浮點型數的抽象。

 

封裝(encapsulation):

將有關的數據和操做代碼封裝在一個對象中,造成一個基本單位,各個對象之間相對獨立,互不干擾。

將對象中的某些部分對外隱藏,即隱藏內部細節,只留下少許接口,以變與外界聯繫,接收外界聯繫。

一臺電視機就是一個封裝體,從用戶的角度只須要關注開關按鈕,音量開光等,不須要關心其內部構造

 

繼承

若是在軟件開發中已創建了一個名爲A的類,又想創建一個名爲B的類,B與A內容基本相同,B在A的基礎上增長了一些新的屬性和行爲。顯然沒必要再從頭設計一個新類,只需在A類的基礎上增長一些新的內容,B擁有A的所有屬性與方法,稱做B類對A類的繼承。A類稱爲基類或父類,B類稱爲派生類或子類。

繼承機制的優點在於下降了軟件開發的複雜性和費用,使軟件系統易於擴充,大大縮短了軟件開發週期,對於大型軟件的開發具備重要的意義。

 

多態(polymorphism):

在基類中定義的屬性或方法被派生類繼承後,能夠具備不一樣的數據類型或表現出不一樣的行爲。

相關文章
相關標籤/搜索