C#基礎之初識類與對象

類與對象

在瞭解類與對象之前,我們首先來看幾個概念:什麼是類,什麼是對象,類與對象的關係是怎樣的,怎麼定義類,怎麼創建一個對象…

抽象的概念

現實中的一切事物皆爲爲對象,抽象是對具體問題進行概括,抽取公共特效並加以描述的過程。抽象的過程就是對問題進行分析和認識的過程。

抽象一般從兩個方面進行:以手機爲例
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();
    }

字段與屬性的區別:

  1. 字段就是類內部用來存儲數據,屬性是類提供給外部調用時設置或讀取一個值。

  2. 字段是類用public修飾符所公開的變量,屬性是對字段的封裝,屬性的實質是方法{get;set;}方法。

  3. 屬性其實就是外界訪問私有字段的入口,屬性本身不保存任何數據,在對屬性賦值和讀取的時候其實就是操作的對應私有字段。

  4. 字段是用來存數據的,考慮到數據的安全性,我們通常定義爲私有的,但是一旦定義爲私有的外界就不能訪問了;於是我們就考慮到用屬性,它起到對字段保護作用,它定義爲公共的,我們可以定義其自動屬性{get;set;}。通過開發環境的編譯可生成對應的字段。它負責與外界打交道安全保護了數據。

C#類的實例化:

在類的定義完成之後,不能直接進行操作,因爲類型是抽象的概念,需要實例化類來創建類的具體對象,然後再通過對象進行操作。

創建對象就稱爲類的實例化,對象只有在實例化之後才真正能夠使用的實體,使用new關鍵字來實例化對象。

語法:數據類型 對象(變量)名=new 類名();

對象也是一種變量,因此對象也需要一種數據類型類保存,因爲它是類的對象,

因此變量的數據類型就可以寫作類名。也可自己定義數據類型。

舉例:定義學生類的一個名叫李四的學生對象

//實例化一個學生對象:lisi (李四)
        public Student lisi = new Student();

總結:

:具有同種屬性的對象稱爲類,是個抽象的概念。比如說:學生,手機,遊戲。
對象:日常生活中的所有東西都是對象,是類的實例化。比如說:張三是學生的實例化;華爲P30是產品的實例化;王者榮耀是遊戲的實例化。
屬性:用來描述具體某個對象的特徵的是屬性,是靜態的。比如:張三體重120斤;華爲P30的價格是3499;王者榮耀是一款動作類型的遊戲。
方法:每個對象有它們自己的行爲或者是使用它們的方法,比如說一個人會玩遊戲、吃飯、聽歌等,我們把這些行爲稱之爲方法,是動態的,可以使用這些方法來操作一個對象。
類的成員:屬性和方法稱爲這個對象的成員,它們是構成一個對象的主要部分,沒有了這兩樣東西,那麼對象也沒什麼意義了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章