程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> 關於C# >> [叩響C#之門]寫給初學者:類和對象的概念

[叩響C#之門]寫給初學者:類和對象的概念

編輯:關於C#

面向對象編程:類和對象的概念

[說明:本文是給剛剛接觸編程的初學者看的,大佬們看起來 可能覺得很簡單,勿怪]

類(Class)

面向對象思想來源於對現實世界的認知。現實世界缤紛復雜、種類繁多,難於認識和理 解。但是聰明的人們學會了把這些錯綜復雜的事物進行分類,從而使世界變得井井有條。比如我們由各式 各樣的汽車抽象出汽車的概念,由形形色色的貓抽象出貓的概念,由五彩斑斓的鮮花抽象出花的概念等。 汽車、貓、鮮花都代表著一類事物。每一類事物都有特定的狀態,比如汽車的品牌、時速、馬力、耗油量 、座椅數,小貓的年齡、體重、毛色,鮮花的顏色、花瓣形狀、花瓣數目,都是在描述事物的狀態。每類 事物也都有一定的行為,比如汽車啟動、行駛、加速、減速、剎車、停車,貓捉老鼠,鮮花盛開。這些不 同的狀態和行為將各類事物區分開來。

面向對象編程也采用了類的概念,把事物編寫成一個個“類”。在類中,用數據表示事物的狀態,用 函數實現事物的行為,這樣就使編程方式和人的思維方式保持一致,極大的降低了思維難度。

封裝(Encapsulation)

制造汽車的過程中什麼人最牛?當然不是焊鋼板的,也不是裝輪胎的,更不 是擰螺絲的,而是設計汽車的工程師,因為他知道汽車的運行原理。但是我們開車時,需要知道汽車的運 行原理嗎?答案顯然不需要。汽車的運行原理已經被偉大的工程師封裝在汽車內部,提供給司機的只是一 個簡單的使用接口,司機操縱方向盤和各種按鈕就可以靈活自如的開動汽車了。

與制造汽車相似,面向對象技術把事物的狀態和行為的實現細節封裝在類中,形成一個可以重復使用 的“零件”。類一旦被設計好,就可以像工業零件一樣,被成千上萬的對其內部原理毫不知情的程序員使 用。類的設計者相當於汽車工程師,類的使用者相當於司機。這樣程序員就可以充份利用他人已經編寫好 的“零件”,而將主要精力集中在自己的專署領域。//《C#初學課堂》

接口(Interface)

今天你買了一台等離子電視機,你拿出遙控器,操縱按鈕,開始欣賞精彩的電視 節目。人們通過遙控器這個接口使用電視機,同樣,人們通過類的接口使用類。程序員在編寫類時精心地 為它設計接口,而設計良好的接口不但方便其他程序員使用,還有利於類的升級改造。

假設你是一個環保人士,最近你用節能的熒光燈代替了普通的白熾燈。白熾燈通過加熱電阻絲照亮整 個屋子;熒光燈則是激活空氣中的某些分子的電子能而發光。雖然它們的原理不同,但是它們的功能卻是 一樣的——照明。因為兩種燈具有相同的接口,所以你只需擰下白熾燈,然後再擰上熒光燈即可,輕易的 實現“零件”的更新換代。同樣,在面向對象編程中,只要保持接口不變,你可以任意更改類的實現細節 ,用一個設計更好的類替換原來的類,實現類的升級換代。

現在軟件維護和修改的成本已經占到了整個軟件開發的80%,類的這一編成思想極大的方便了程序的維 護和修改,降低了軟件成本。

對象(Object)

作為初學者,比較容易混淆類和對象的概念。類是一個抽象的概念,對象則是類的具 體實例。比如人是一個類,司馬遷、李白、杜甫都是對象;首都是一個類,則北京、倫敦、華盛頓、莫斯 科都是對象;動畫貓是一個類,則Kitty、Grafield和Doraemon都是對象

//《C#初學課堂》

類是抽象的概念,對象是真實的個體。我們可以說Kitty貓的體重是1.5kg,而不能說貓類的體重是 1.5kg;可以說劉翔在跨欄比賽中奪冠,而不說人類在跨欄比賽中奪冠。一般情況下我們認為狀態是描述 具體對象而非描述類的,行為是由具體對象發出的而非類發出的。

現實生活中到處充實著對象,一棟房子、一輛汽車,一頭大象,一只螞蟻,乃至一種語言、一種方法 都可以稱為對象。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved