類的對象和成員
文章出處:http://www.luckydriving.com 作者:興邦研發(fā)部 人氣: 發(fā)表時(shí)間:2014年11月10日
類的對象和成員
1、 類成員
一般希望類中一些數(shù)據(jù)不被隨意修改, 只能按指定方法修改, 既隱蔽一些數(shù)據(jù)。 同樣一些函數(shù)也不希望被其它類程序調(diào)用, 只能在類內(nèi)部使用。 如何解決這個(gè)問題呢?可用訪問權(quán)限控制字,常用的訪問權(quán)限控制字如下:private ( 私有),public (公有) 。在數(shù)據(jù)成員或函數(shù)成員前增加訪問權(quán)限控制字,可以指定該數(shù)據(jù)成員或函數(shù)成員的訪問權(quán)限。
私有數(shù)據(jù)成員只能被類內(nèi)部的函數(shù)使用和修改, 私有函數(shù)成員只能被類內(nèi)部的其它函數(shù)調(diào)用。 類的公有函數(shù)成員可以被類的外部程序調(diào)用, 類的公有數(shù)據(jù)成員可以被類的外部程序直接使用修改。公有函數(shù)實(shí)際是一個(gè)類和外部通訊的接口,外部函數(shù)通過調(diào)用公有函數(shù), 按照預(yù)先設(shè)定好的方法修改類的私有成員。對于上述例子,name 和 age 是私有數(shù)據(jù)成員,只能通過公有函數(shù) SetName()和 SetAge()修改,既它們只能按指定方法修改。
這里再一次解釋一下封裝, 它有兩個(gè)意義, 第一是把數(shù)據(jù)和處理數(shù)據(jù)的方法同時(shí)定義在類中。第二是用訪問權(quán)限控制字使數(shù)據(jù)隱蔽。
2、 類的對象
Person 類僅是一個(gè)用戶新定義的數(shù)據(jù)類型,由它可以生成 Person 類的實(shí)例,C#語言叫
對象。用如下方法聲明類的對象: Person OnePerson=new Person();此語句的意義是建 立
Person 類對象,返回對象地址賦值給 Person 類變量 OnePerson。也可以分兩步創(chuàng)建 Person
類的對象:Person OnePerson;OnePerson=new Person();OnePerson 雖然存儲(chǔ)的是 Person 類
對象地址,但不是 C 中的指針,不能象指針那樣可以進(jìn)行加減運(yùn)算,也不能轉(zhuǎn)換為其它類
型地址, 它是引用型變量, 只能引用( 代表)Person 對象, 具體意義參見以后章節(jié)。 和 C、 C++不同,C#只能用此種方法生成類對象。
在程序中, 可以用 OnePerson.方法名或 OnePerson.數(shù)據(jù)成員名訪問對象的成員。 例如:
OnePerson.Display(),公用數(shù)據(jù)成員也可以這樣訪問。注意,C# 語言中不包括 C++語言中
的->符號(hào)。