C#面向對象_1_基礎思想程序員
一種用編程語言來描述客觀事物的思想,它不單單是一門技術或語法,而是一種思惟方式。編程
從中文的角度來說,類就是指一個類別一個種類,是指一個種類中的全部事物的共同的特徵。就好像這個類別中的全部個體的模板同樣。安全
類,也能夠看作是一種由程序員本身定義的數據類型。好比:咱們創造了一個數據類型是人類,那麼這個類中的具體的一個成員就是這個類的一個數據。編程語言
在C#中,類用關鍵字class來表示。函數
當咱們要開始一個軟件的時候,其準備工做之一,就是要從軟件的需求當中提取出有哪些類,好比:說咱們要開始一個遊戲,就要首先歸結一個有哪些共同特徵的事物(哪些類):玩家類,npc類 , 怪物類 , 花花草草,山川河流 。這些類都是咱們在開始一個遊戲以前要總結出來的,這個過程,就叫作抽象。spa
設計類的過程就是一種對現實世界或業務的抽象的過程。設計
也就是描述一個類的步驟code
一、 描述一類事物共同的靜態特徵,好比:身高、重量、年齡、型號對象
二、 描述一類事物共同的動做能力特徵,好比:說話、飛、游泳繼承
對象是指一個類中符合羣體特徵的一個具體的成員,它是實實在在存在的一個事物。
對象的每一項特徵都應該具有具體的量化的數值。
class dog { //定義的一個(種)類:狗 } dog 旺財 = new dog(); //建立一個狗類中的成員 dog 黑子 = new dog(); dog 小白 = new dog(); dog 大黃 = new dog(); //只要有類這個「模板」,咱們就能夠無限的創造這個類的對象。
利用一個類來建立一個具體的對象的過程,咱們叫作實例化。
語法:
類名 對象名 = new 構造函數();
就是指一個事物,或一類事物的特徵,及其具體的值。好比:人類的身高、體重、三圍、姓名、國籍、膚色、民族、姓氏。
class dog { public string 毛色; //定義狗類有哪些屬性特徵 public float 體重; } class Program { static void Main(string[] args) { dog 旺財 = new dog(); 旺財.體重 = 20; //給旺財的每一項特徵屬性添加具體的值。 旺財.毛色 = "金黃色"; Console.WriteLine("我家旺財毛色是{0},重{1}斤",旺財.毛色,旺財.體重); //經過 對象名.屬性名 的方式來調用對象的屬性值 } }
就是指一個事物,或一類事物的共有的動做能力,或能夠執行的某種活動。
好比:全部的魚類均可以游泳,全部的狗都會汪汪叫。
包含在類裏面的變量咱們也能夠叫成員變量,一樣,包含中類裏面的方法也能夠叫作成員函數。
class dog { public void 叫() { Console.WriteLine("I am 旺財,汪汪汪"); } } class Program { static void Main(string[] args) { dog 旺財 = new dog(); 旺財.叫(); } }
注意:當咱們用面向對象的方式來描述客觀事物的時候,咱們只須要來描述那些咱們須要的屬性和方法就能夠了,而不是必需將這個事物的全部參數特徵都描述出來,由於徹底沒有必要,就像寫小說同樣。
就是將不須要普通用戶看到或操做的部分代碼隱藏起來,以保護程序的安全性。只暴露出用戶能訪問的接口便可。
一個類繼承另外一個類,那麼前者也就具有了後者的特性。
同一個事物對象,在不一樣的條件和環境之下,其所表現出來的形態是不同的。
假設你如今要設計一款遊戲,用面向對象的思想思考一下這個遊戲裏面有哪些類。能夠儘量的思考一些有創意的遊戲。