二、類與物件
1、了解類:從這裡開始,學習c#物件導向程式設計的基本內容,使用c#程式設計,所有的程式**都放在類中,結構體是乙個使用者自定義的型別,是由其他型別組成的變數組,不存在獨立於類之外的函式;因此,在物件導向中,類是物件導向程式設計的基本單元。類與類之間互動。
2、類的定義:乙個類都可以包含2種成員:欄位和方法。
1)類的字段一般代表類中被處理的資料(變數);
2)類的方法大多數代表對這些資料的處理過程或用於實現某種特定的功能,方法中的**往往需要訪問字段儲存的資料。
簡單的說,欄位即變數,方法即函式。
例如:[public | private] class 類名 //類名前的修飾符預設是public
[public | private] 資料型別 變數名;//定義變數
[public | private] 資料型別 函式名(引數列表)//定義函式
函式體;
3、類的字段(即變數)
字段代表了類中的資料,在類的所有方法之外定義乙個變數即定義了乙個字段。,在變數之前加修飾符public,private,protected表示欄位的訪問許可權。
例:class ren
public decimal tizhong; //體重decimal型別
private static decimal nianling;//年齡decima型別,靜態的
public int shengao=175;//身高int型別,身高賦值175cm;
4、類的方法(即函式)
1)函式的概念
在程式開發過程中,為了解決**重複的問題,絕大多數程式設計設計語言都將完成某一公用功能的多個語句組合在一起,起乙個名字用於代表這些語句的全體,這樣的**塊被稱為「函式」。
簡單的理解就是,在乙個program.cs檔案中新增乙個類,而這個class類就是專門存放程式需要的函式方法的庫(平時的積累),每乙個方法函式都由多個變數、語句等組成的乙個**塊,而這個**塊有乙個方法名,(在方法名前加修飾符public,private,protected等表示這個函式的訪問許可權)需要時直接在主函式的檔案中呼叫這個方法名即可。
例如:<1>有返回值的情況(多種資料型別,如int,string,double等):
class 類名{
public int 函式名(int x,int y)
int z=x+y;
return z;//上面函式的資料型別就是return要返回的資料型別,一定要對應一致,才能在主函式中呼叫並輸出返回值;
<2>無返回值的情況(void)
class 類名{
public void 函式名(int x,int y)//如果沒有返回值,即在定義函式名前加void;
int z=x+y;
console.write("z的值為:"+z);直接在函式中輸出
return;//或者直接return+分號;即沒有返回值,不用在主函式中呼叫輸出
2)方法的定義與使用
定義:放在乙個類的函式(通常加乙個訪問許可權修飾符)稱為「方法」;
呼叫乙個方法最基本的方式是通過類建立的物件。new初始化物件的過程是建立乙個新物件的過程,利用原有的模板建立乙個新的物件,開闢乙個新的空間。
例如:ren r=new ren();
例如:在ren類中定義乙個add()方法:
public class ren()
public int add(int x,int y)
return x+y;
在主函式呼叫ren()這個方法:
static void main(string args)
ren r=new ren();//建立ren類的物件,命名r
int result=r.add(100,200);//通過物件呼叫類的方法,結果儲存在區域性變數中
3)【重點】方法過載(在同一命名空間下,同乙個類中,同乙個方法,引數不同/引數的個數不同/返回值不同)
class shu//同一命名空間,同乙個類下
public int add(int x,int y)//方法add整數型相加
return x+y;
public double add(double x,double y)//方法add浮點數相加
return x+y;
兩個構成過載關係的函式必須滿足如下關係:
1)函式名相同;
2)引數型別不同,或者引數個數不同
5、【重點】函式在命名空間(又稱為程式集)內的引用時,不同修飾符的區別:
1)public 公用的,在同乙個命名空間內可以引用;在不同的命名空間,需要引用當前的命名空間,使用[using +命名空間的名稱];
2)private 私有的,只對private位於的當前這個類起作用;
3)protected 受保護的,只作用於當前這個類,但(整合)也可以作用於當前這個類的子類。
4)static 靜態的,靜態變數只能在靜態方法中使用,靜態變數不能跨類使用(只能在累加求和時使用)
6、類的靜態成員(欄位和方法)
1)靜態字段(即靜態變數)
public static int nianling;
2)靜態方法(即靜態函式)
定義class 類名
public static void jingtai()
nianling=18;
【注意事項】
1、普通方法(不是靜態方法的):在當前類中,不需要初始化,可直接使用;
在當前類中,定義的變數可直接當做乙個普通變數使用。
2、在靜態方法中,不允許使用除了靜態變數之外的其他外部成員變數,除非物件初始化(new)就可以引用。
3.主函式(也屬於static)中,呼叫函式方法也必須初始化;只要是帶static的方法,都不能直接外部成員變數。
物件導向 類與物件
物件導向是相對於面向過程而言的,具體的來說,比如 我們想要吃一頓午飯,我們親自買菜,洗菜.切菜,炒菜,煮飯,這樣做成一桌菜就叫面向過程,也就是說整個過程 你都親自完成,而 物件導向呢?點外賣 點一桌子菜和公尺飯 不管他咋做出來的 面向過程程式設計 就是 我們想要實現乙個功能 直接去呼叫別人寫好的功能...
物件導向(類與物件)
世界上肯定是先出現各種各樣的實際存在的物體,然後隨著人類文明的發展,人類站在不同的角度總結出了不同的種類,比如 人類 動物類 植物類等概念。也就說,物件是具體的存在,而類僅僅只是乙個概念,並不真實存在,比如你無法告訴我人類 具體指的是哪乙個人這與函式的使用是類似的 先定義函式,後呼叫函式,類也是一樣...
物件導向 類與物件
1.物件導向的三大特徵 1 封裝性 2 繼承性 3 多型性 物件導向最大的特徵 可以對現實生活進行抽象 2.基本概念 1 類 指共性的概念 2 物件 指的是乙個具體的,可以使用的事物。通俗來說,類就是產生物件的藍圖。物件的所有行為,一定要在類中進行完整的定義。類中的組成 屬性 方法 class 類名...