淺談c# 面向對象之類與對象。本站提示廣大學習愛好者:(淺談c# 面向對象之類與對象)文章只能為提供參考,不一定能成為您想要的結果。以下是淺談c# 面向對象之類與對象正文
類與對象
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的辦法,都不克不及直接內部成員變量。