在我們前面的代碼中已經接觸到了C#的類(class)還有類的方法。我們的代碼主要都放在Program 類的Main方法裡邊。我們也創建了我們自己的方法。同時我們也使用了類Console的writeline等方法。但是我想到目前為止我們還是不是很清楚類是一個什麼東西。接下來我就給大家介紹一下類還有面向 ...
在我們前面的代碼中已經接觸到了C#的類(class)還有類的方法。我們的代碼主要都放在Program 類的Main方法裡邊。我們也創建了我們自己的方法。同時我們也使用了類Console的writeline等方法。但是我想到目前為止我們還是不是很清楚類是一個什麼東西。接下來我就給大家介紹一下類還有面向對象編程。
在C#中幾乎所有的東西都是和類相關的。我們編寫的程式是由不同的類組成的。在每個類中可以有不同的屬性和方法。如何去設計類和使用類呢?這就是面向對象編程要幫助我們解決的事情。
首先讓我們先瞭解一下C#面向對象編程中最基本的概念。
1. 面向對象和麵向過程
面向過程的編程是在面向對象編程出現以前非常流行的編程方法論。(軟體行業的變化很快的,以前很流行的東西,隨著新的東西不停的出來,沒有多久就out了。)
“面向過程”就是分析出解決問題所需要的步驟,然後用函數把這些步驟一步一步實現,使用的時候一個一個依次調用就可以了。
“面向對象”是把構成問題事務分解成各個對象,建立對象的目的不是為了完成一個步驟,而是為了描敘某個事物在整個解決問題的步驟中的行為還有各個事物之間的互動。
舉個例子:
如何把大象裝進冰箱?面向過程:
為了把大象裝進冰箱,需要3個過程。這三個過程可以對應三個函數。
1) 把冰箱門打開
2) 把大象裝進去
3) 把冰箱門關上
依次完成這些過程,就能把大象裝進冰箱。 面向對象:
分析把大象裝進冰箱這個事情,我們分析出兩個對象,大象和冰箱。
其中冰箱需要做三個動作,也就是三個方法。第二個動作要和大象互動。
1) 冰箱,你給我把門打開。 冰箱.開門()
2) 冰箱,你給我把大象裝進去。 冰箱.裝進(大象)
3) 冰箱,你給我把門關上。冰箱.關門()
依次做這些動作,就能把大象裝進冰箱。
面向過程其實是最為實際的一種思考方式,就算是面向對象的方法也是含有面向過程的思想.可以說面向過程是一種基礎的方法.它考慮的是實際地實現.一般的面向過程是從上往下步步求精.所以面向過程最重要的是模塊化的思想方法.對比面向過程,面向對象的方法主要是把事物給對象化,對象包括屬性與行為。 我試著和大家解釋了一下什麼是面向對象,什麼是面向過程。不知道你有沒有搞清楚。但是我一定要給你一個忠告。
作為一個程式員, 你選擇面相過程, 就找不到對象。
少年, 你可要想好了再選擇啊
2. 類 類是C#面向對象編程的基本單元。一個類都可以包含2種成員:欄位和方法。
1)類的欄位代表類中被處理的數據(變數);
2)類的方法代表對這些數據的處理過程或用於實現某種特定的功能,方法中的代碼往往需要訪問欄位保存的數據。
簡單的說,欄位即變數,方法即函數。
2.1 類的定義
C#使用class關鍵字來定義類:
class MyFirstClass { }
其中MyFirstClass 是這個類的名字。 2.2 類的成員
在類定義中,也提供了該類中所有成員的定義,包括欄位、方法和屬性。
所有成員都有自己的訪問級別。在這裡我們先學習兩個比較簡單且經常用到的訪問級別的修飾符:
public——成員可以由任何代碼訪問。
private——成員只能由類中的代碼訪問(如果沒有使用任何關鍵字,就預設使用這個關鍵字)。
其他訪問級別,如果大家感興趣,現在就想知道,可以先在網上搜索。如果查不到,也可以咨詢我。
2.2.1 欄位
欄位用標準的變數聲明格式和前面介紹的修飾符來定義(可以進行初始化),例如:
class MyFirstClass { public int MyInt; }
class MyFirstClass { public int MyInt = 10; }
2.2.2 方法
方法使用標準函數格式、可訪問性修飾符來聲明。例如:
class MyFirstClass { public string GetName() { return "Thinking Jiang的零基礎C#編程入門"; } }
3. 對象
在C#編程中對象是類的實例。聽起來有點抽象哦。舉個具體一點的例子吧。
我們有一個車的類Car,在裡邊有車的品牌顏色等屬性。我的車,你的車就是這個車類的一個對象。裡邊的品牌顏色都有具體的值。例如我的車的是一個對象,它品牌是賓士(我的夢想),顏色是黑色。你的車是另一個對象,它的品牌是比亞迪,顏色是銀色。
在C#程式中,怎樣創建對象呢?假設我們已經有了一個名為Car的類,下列語句: Car myCar = new Car(); //創建一個名為myCar的對象 就具體地創建了一個名為myCar的對象。我們稱“new”為Java創建對象的操作符,簡稱new操作符。它的語法格式為: ClassName objectName = new ClassName(); 其中, ClassName ——類名。 objectName ——要創建的對象名。 new——創建對象操作符。 對象myCar則擁有了所有Car類的屬性和方法。我可以對它的屬性賦值,也可以操作car類中定義的方法。 來開一個具體的例子吧。你創建一個項目。解決方案名稱為Sloution23,項目名稱為Exercise23,項目類型為控制台程式。 右鍵點擊項目Exercise23,選擇添加-》類。 輸入新建類的名字為Car。這個類建好以後,點擊該類Car.cs,在裡邊加入如下代碼。 點擊Program.cs,在裡邊加入如下代碼 運行結果 練習1. 讀懂這段代碼,為每條語句加上註釋,解釋它的功能。
2. 在main方法中,仿照myCar新建一個名稱為yourCar的car類的新對象。為yourCar的所有欄位賦值。在dos視窗輸出該對象相應的值,調用CalculateCurrentPrice()方法,輸出汽車當前的價值。
3. 修改Car類,加入一些新的欄位和方法。在Main方法中做相應的修改,訪問這些欄位和方法
4. 修改Car類的欄位和方法的public訪問限制符為private。運行程式,看看是什麼結果?解釋一下原因是什麼?
付費解答C#入門學習過程中碰到的各種問題。
零基礎學習C#入門,大多數的問題都可以通過自學或藉助互聯網解決。
但是還是會有一些問題,不是那麼容易解決,成為了你學習的絆腳石。最後甚至造成你學習的半途而廢。通常學習C#編程入門,你會遇到20到30多個你不能很容易解決的問題。
這個時候,你最需要什麼呢?
對!一個專業的老師給你幫助!
你在學習本課程中,遇到任何問題都可以通過qq或email想本教程作者進行求助。
只需30元,你就可以得到本教程作者的三次專業解答。所以你只需不到300元就可以順利的完成C#入門,從此推開軟體行業的大門。
付費方式非常簡單:
用微信掃描下麵的二維碼。在付款留言中留下你的qq號或email地址就可以啦。
教育不是要便宜,而是要可靠!真正聰明的人,更懂得花錢讓專業的人為自己服務,提高自己的效率。
老師qq:2040227296
老師email:[email protected]