《蘇坤《面向?qū)ο蟆芬曨l教程筆記》由會(huì)員分享,可在線閱讀,更多相關(guān)《蘇坤《面向?qū)ο蟆芬曨l教程筆記(12頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、如果您需要使用本文檔,請(qǐng)點(diǎn)擊下載按鈕下載!
面向?qū)ο蠊P記
一、面向?qū)ο蟾拍?
1.對(duì)象:萬(wàn)物皆對(duì)象。
即為實(shí)實(shí)在在存在的東西,就是對(duì)象。
2.屬性:對(duì)象具有的各種特征。
例如:某個(gè)人的姓名,性別,年齡。
3.每個(gè)對(duì)象的每個(gè)屬性都擁有特定值。
例如:楊老師和張三的年齡不一樣
4.屬性的值:即為屬性對(duì)應(yīng)的具體值。
5.方法:行為,動(dòng)作。執(zhí)行操作。
例如:楊老師的行為:上課,吃飯。學(xué)生的行為:學(xué)習(xí)。
6.類:類是模子,確定對(duì)象將會(huì)擁有的特征(屬性)和行為(方法)
7.類是對(duì)象的類型。
聲明一個(gè)類:
2、 例如:int a;
數(shù)據(jù)類型 變量名;
人類 張三;
8.類是抽象的概念,僅僅是模板,比如說(shuō)“人”類。
如果您需要使用本文檔,請(qǐng)點(diǎn)擊下載按鈕下載!
9.對(duì)象是一個(gè)能夠看的到,摸得著的具體實(shí)物。
10.“人”類都有:姓名\性別\年齡屬性,有說(shuō)話的方法。
例如:
張三是一個(gè)屬于人類的對(duì)象,他的姓名屬性的值:張三。性別屬性的值:男 年齡屬性的值:20 張三會(huì)說(shuō)話,這是方法。
11.對(duì)象可以叫做類的實(shí)例(Instance)
12.類不占內(nèi)存,對(duì)象才占內(nèi)存。
13.類型的定義:
定義類的語(yǔ)法:
3、
[訪問(wèn)修飾符] class 類名
{
成員;
。。。。。。。。
}
類中可以包含變量的定義、方法。
注意:在我們自己些的類中,我們?cè)谛┓椒〞r(shí),先不用加static.
例子:
定義了一個(gè)名為:Person的類,這個(gè)類僅僅是人這個(gè)對(duì)象的模板。在這個(gè)模板中規(guī)定人類對(duì)象都應(yīng)該有:姓名,性別,年齡屬性和SayHello方法。
如果您需要使用本文檔,請(qǐng)點(diǎn)擊下載按鈕下載!
4、
如何通過(guò)一個(gè)類來(lái)產(chǎn)生一個(gè)對(duì)象呢?
通過(guò)類來(lái)產(chǎn)生一個(gè)對(duì)象的過(guò)程,叫類的實(shí)例化。
14.類的實(shí)例化
A、語(yǔ)法:類名 實(shí)例名 = new 類名();
B、訪問(wèn)類的屬性:
實(shí)例名.屬性名
C、訪問(wèn)類的方法:
實(shí)例名.方法名()
接上例即為:
如果您需要使用本文檔,請(qǐng)點(diǎn)擊下載按鈕下載!
注意:只要是沒(méi)有加static的方法或者屬性,都必須先實(shí)例化,再通過(guò)實(shí)例名.方法名或者實(shí)例名.屬性來(lái)訪問(wèn)。
加static的方法或?qū)傩?,可以直接通過(guò) 類名.方法名或類名.屬性名來(lái)訪問(wèn)。
15.訪問(wèn)修飾符:
在c#中有4個(gè)訪問(wèn)修
5、飾符
public:可以在任何地方被訪問(wèn)。
intemal:只能在本項(xiàng)目中被訪問(wèn)。
如果您需要使用本文檔,請(qǐng)點(diǎn)擊下載按鈕下載!
private:只能在本類中被訪問(wèn)。
preotected:只能在本類和子類中被訪問(wèn)。
注意:
在類這個(gè)級(jí)別,不寫訪問(wèn)修飾符默認(rèn)為intemal.
在一個(gè)類中定義變量或者方法時(shí),沒(méi)有寫訪問(wèn)修飾符,那么默認(rèn)的訪問(wèn)修飾符為private.
16.屬性
l 字段用public修飾的問(wèn)題.
l 屬性的定義.get;set;
l 屬性是為了保護(hù)與之相對(duì)應(yīng)的字段的.保證對(duì)字段的讀取和賦值符合要求.
l 屬性可分為:讀寫、只讀、只寫。
6、
讀寫屬性:具有g(shù)et和set方法的屬性叫做讀寫屬性。
只讀屬性:只有g(shù)et方法的屬性,這個(gè)屬性只能讀取不能寫入。
只寫屬性:只有set方法的屬性,這個(gè)屬性只能寫,不能寫讀(只寫屬性用的很少)。
允許外部訪問(wèn)的變量一定要聲明為屬性。
如果您需要使用本文檔,請(qǐng)點(diǎn)擊下載按鈕下載!
注意:ctrl+R+E 給一個(gè)字段定義屬性的快捷鍵。
當(dāng)我們實(shí)例化一個(gè)類時(shí),系統(tǒng)會(huì)自動(dòng)對(duì)這個(gè)類的屬性進(jìn)行初始化。
數(shù)字類型的初始化成: 0\0.0
string類型初始化成:null
char類型初始化成:\0
如果您需要使用本文檔,請(qǐng)點(diǎn)擊下載按鈕下載!
7、17.類的構(gòu)造方法
使用構(gòu)造方法的好處:
1)對(duì)多個(gè)屬性進(jìn)行賦值時(shí),不需要重復(fù)的寫實(shí)例名。
2)可以保證用戶在new一個(gè)對(duì)象的時(shí)候必須對(duì)某一個(gè)屬性進(jìn)行賦值。
3)和第2類似,在創(chuàng)建對(duì)象時(shí),對(duì)只讀屬性進(jìn)行初始化。
當(dāng)我們定義好一個(gè)類之后,如果我們沒(méi)有寫構(gòu)造方法,那么系統(tǒng)會(huì)自動(dòng)給我們加上一個(gè)默認(rèn)的沒(méi)有參數(shù)的構(gòu)造方法。在這個(gè)構(gòu)造方法中,什么也不做,我們也看不到。
我們可以定義一個(gè)構(gòu)造方法:
構(gòu)造方法是一個(gè)特殊的方法,他的名字和類的名字相同,并且沒(méi)有返回值。連void都可以省略不寫。我們一旦手寫一個(gè)構(gòu)造方法,系統(tǒng)原先默
8、認(rèn)給我們添加的那個(gè)無(wú)參的構(gòu)造方法就不會(huì)再為我們添加了。
例子:
類:
如果您需要使用本文檔,請(qǐng)點(diǎn)擊下載按鈕下載!
方法
構(gòu)造函數(shù)的重載:
如果您需要使用本文檔,請(qǐng)點(diǎn)擊下載按鈕下載!
l 構(gòu)造函數(shù)可以重載,也就是有多個(gè)參數(shù)不同的構(gòu)造函數(shù)。
認(rèn)識(shí)類圖:
析構(gòu)函數(shù):
如果您需要使用本文檔,請(qǐng)點(diǎn)擊下載按鈕下載!
程序結(jié)束時(shí)調(diào)用,用于垃圾清理。
要想拋一個(gè)異常,可以這樣寫
throw new Exception(”錯(cuò)誤信息”);
18.params 可變參數(shù)
如果您需要使用本文
9、檔,請(qǐng)點(diǎn)擊下載按鈕下載!
19.命名空間
l namespace(命名空間),用于解決類重名問(wèn)題,可以看做“類的文件夾”。
不在同一個(gè)命名空間下的類,不能被直接訪問(wèn)。要想訪問(wèn)別的命名空間下的類有兩種方法:
1.通過(guò)Using 引用對(duì)方的命名空間。
2.寫全稱.命名空間名.類名
20.字符串處理string
l string可以看做是char的只讀數(shù)組。char c = s[1];。例子:遍歷輸出string中的每個(gè)元素。
l C#中字符串有一個(gè)重要的特性:不可變性,字符串一旦聲明就不再可以改變。所以只能通過(guò)索引來(lái)讀取指定位置的char,不能對(duì)指定位置的char進(jìn)行修改。
l 如果要對(duì)char進(jìn)行修改,那么就必須創(chuàng)建一個(gè)新的字符串,用s. ToCharArray()方法得到字符串的char數(shù)組,對(duì)數(shù)組進(jìn)行修改后,調(diào)用new string(char[])這個(gè)構(gòu)造函數(shù)(暫時(shí)不用細(xì)研究)來(lái)創(chuàng)建char數(shù)組的字符串。一旦字符串被創(chuàng)建,那么char數(shù)組的修改也不會(huì)造成字符串的變化。例子:將字符串中的A替換為a。
如果您需要使用本文檔,請(qǐng)點(diǎn)擊下載按鈕下載!
舉例:
(注:可編輯下載,若有不當(dāng)之處,請(qǐng)指正,謝謝!)