類與對象
在瞭解類與對象之前,我們首先來看幾個概念:什麼是類,什麼是對象,類與對象的關係是怎樣的,怎麼定義類,怎麼創建一個對象…
抽象的概念
現實中的一切事物皆爲爲對象,抽象是對具體問題進行概括,抽取公共特效並加以描述的過程。抽象的過程就是對問題進行分析和認識的過程。
抽象一般從兩個方面進行:以手機爲例
1.數據抽象:共同的特徵。型號,品牌,系統,機身顏色等。
2.行爲抽象:共同的行爲。開機,關機,撥號,安裝應用等。
程序設計的思想——“面向對象
在程序設計中,需要處理的事物通常會非常複雜,此時也需要對處理的事物進行分析和總結,
抽象出事物的特徵和行爲,封裝成相應的類,最後實例化對象進行操作,這種程序設計的思想,我們稱之爲“面向對象”(Objiect Oriented,簡稱OO)。
類的定義:
在面向對象編程思想中,具有一系列共同特徵和行爲的通用類型稱爲類。
類是對事物的一種抽象定義,是具有共同特徵和行爲的一類事物的統稱。
類是現實世界中一組具有相同屬性和方法的對象的集合。
屬性用來描述對象所具有的特徵,方法用來描述對象的行爲。
切記,C#裏的基本數據類型分爲值類型和引用類型,結構也是值類型,而類是引用類型。
對象的定義:
現實中的一切事物皆爲爲對象,比如你正在看這篇文章的這個手機,你寫作業時用的那支筆,你刷牙時用的那個牙刷,都是對象。
在面向對象編程中,對象是類的實例,是具有特徵(屬性)和行爲(方法)的數據結構。
對象是獨一無二的的具體個體,用於描述現實世界中的某個事物,將現實世界的事物模型化。
類與對象的關係:
類是對一系列對象的抽象,提取了這一系列對象的共同特徵和共同行爲。
對象本身是具體的、客觀存在的。類是對對象的抽象,對象是類的實例。
總結:類是對對象的描述,是創建對象的“模板”,是對對象的抽象;對象表示現實世界中某個集體的事物,是類的一個實例,是類實例化的結果。
C#類的定義的語法:
[訪問修飾符] class 類名{
類的字段聲明;
類的屬性聲明;
類的方法聲明;
}
說明:中括號“[]”中的內容可以省略,表示取默認值。關鍵字“class”用於定義類,大括號“{}”中的內容是類的主體。類當中的成員包括字段,屬性和方法。
舉例:定義一個學生類,含有的字段爲姓名,性別,年齡。
public class Student//定義一個學生類
{
//定義學生類的字段,,一般首字母小寫
public string name;
public string sex;
public string age;
//定義屬性,一般首字母大寫。屬性其實就是對字段的一種封裝。
public string Name { get; set; }
//定義方法
public void PlayGame()//定義一個玩遊戲的方法
{
//方法用來描述對象的行爲
//使用void關鍵字定義方法,後面接方法名
}
//實例化一個學生對象:lisi (李四)
public Student lisi = new Student();
}
字段與屬性的區別:
-
字段就是類內部用來存儲數據,屬性是類提供給外部調用時設置或讀取一個值。
-
字段是類用public修飾符所公開的變量,屬性是對字段的封裝,屬性的實質是方法{get;set;}方法。
-
屬性其實就是外界訪問私有字段的入口,屬性本身不保存任何數據,在對屬性賦值和讀取的時候其實就是操作的對應私有字段。
-
字段是用來存數據的,考慮到數據的安全性,我們通常定義爲私有的,但是一旦定義爲私有的外界就不能訪問了;於是我們就考慮到用屬性,它起到對字段保護作用,它定義爲公共的,我們可以定義其自動屬性{get;set;}。通過開發環境的編譯可生成對應的字段。它負責與外界打交道安全保護了數據。
C#類的實例化:
在類的定義完成之後,不能直接進行操作,因爲類型是抽象的概念,需要實例化類來創建類的具體對象,然後再通過對象進行操作。
創建對象就稱爲類的實例化,對象只有在實例化之後才真正能夠使用的實體,使用new關鍵字來實例化對象。
語法:數據類型 對象(變量)名=new 類名();
對象也是一種變量,因此對象也需要一種數據類型類保存,因爲它是類的對象,
因此變量的數據類型就可以寫作類名。也可自己定義數據類型。
舉例:定義學生類的一個名叫李四的學生對象
//實例化一個學生對象:lisi (李四)
public Student lisi = new Student();
總結:
類:具有同種屬性的對象稱爲類,是個抽象的概念。比如說:學生,手機,遊戲。
對象:日常生活中的所有東西都是對象,是類的實例化。比如說:張三是學生的實例化;華爲P30是產品的實例化;王者榮耀是遊戲的實例化。
屬性:用來描述具體某個對象的特徵的是屬性,是靜態的。比如:張三體重120斤;華爲P30的價格是3499;王者榮耀是一款動作類型的遊戲。
方法:每個對象有它們自己的行爲或者是使用它們的方法,比如說一個人會玩遊戲、吃飯、聽歌等,我們把這些行爲稱之爲方法,是動態的,可以使用這些方法來操作一個對象。
類的成員:屬性和方法稱爲這個對象的成員,它們是構成一個對象的主要部分,沒有了這兩樣東西,那麼對象也沒什麼意義了。