? ? ? ? ?面向對象
? ? ? ? ?說起面向對象,大家因該都聽說過,也知道是一個編程的方法,簡稱oop技術。它將對象的算法和數據結構看作一個整體,而一個程序就是由多個對象結合的整體。這樣做可以提高代碼的復用率,提高了軟件的可維護性。
? ? ? ? ?屬性
? ? ? ? ?一個對象具有屬性和方法,屬性用來表述對象或類的特征,比如人的姓名、身高、性別、生日等都屬于人的屬性。在這里重點介紹下在c#中屬性如何定義和使用。
? ? ? ? ?定義
//定義屬性必須聲明類
public class date
{//在date類中定義一個格式為int格式的屬性,屬性名稱為day,并為它賦值為7private int day=7
//在這里,屬性其實已經定義好了,不過很多屬性都是private(私有的除了本類無法訪問)所以我們還要給它寫一個訪問器//聲明一個訪問器,使外部的數據可以讀取和修改day的值public int day{//從屬性中得到day的值get{//將day的值返回return day;}set{//將值賦給day,實現修改的功能day=value;}}
}
//如果想要定義只讀屬性的話,只定義get即可,set訪問器不用定義。只寫屬性類似于只讀屬性。
? ? ? ? ?使用
? ? ? ? ?定義完屬性后,就是如何使用的問題了,我們用下面的帶碼講述下代碼如何使用:
class program
{static void main(string[] args){//將剛定義的date類實例化date mydate = new date();//給mydate的day屬性賦值為3mydate.Day = 3;//在控制臺輸出myday這個對象的day屬性的值,如果沒有get這個訪問器的話,控制臺就無法訪問到mydate的day屬性。Console.WriteLine(mydate.Day);}
}
? ? ? ? ?方法
? ? ? ? ?屬性說完了,接下來就是方法了。方法用于實現可以有對象或類執行的計算或操作。方法的聲明必須指定方法的 訪問級別、返回值、方法名稱和方法參數。有的方法沒有返回值的則定義為void類型,例如:
? ? ? ? ?聲明
public void test()
{console.writeline("這是一個測試控制臺輸出的方法")
}
? ? ? ? ?其中,public是訪問的級別代表公共訪問,是訪問級別的一種;void是返回值的類型,void代表無返回值;test是方法的名稱;()中應輸入方法的參數,該方法不需要傳入參數,所以()中是空白。該方法可以在控制臺輸出一條語句:"這是一個測試控制臺輸出的方法"。? ? ? ? ?重載
? ? ? ? ?重載方法是指類中有兩個以上的同名方法,但是使用的參數類型、參數個數或順序不同,調用方法時,編譯器可以自動判斷使用哪種方法。
? ? ? ? ?下面介紹一下代碼的實現:
? ? ? ? ?
namespace ConsoleApplication14
{//重載方法的代碼實現class Program{//這是第一個方法,定義了方法 add,包括x,y兩個參數,兩個參數都是int類型的public static int add(int x, int y){//方法返回值,返回一個int類型的值return x + y;}//第二個方法,同樣定義了方法 add,包括x,y兩個參數,其中x是int類型,y是double類型public static double add(int x, double y){//方法返值,返回的是double類型的值,運行時系統自動將int(整數類型)轉化為double(帶小數的一種類型——雙精度浮點數)return x + y;}//第三個方法,方法的名字還是add,不過變成了三個參數public static int add(int x, int y, int z){return x + y + z;}//主函數體static void Main(string[] args){//將program類實例化,只有實例化成為對象后才可以調用方法關于類和對象的介紹可以看我以前的博客// 類 對象Program Program = new Program();//定義參數x為int類型,并給它賦值為3int x = 3;//定義參數y1為int類型,并給它賦值為4int y1 = 4;//定義參y2為double類型,并給它賦值為5.5double y2 = 5.5;//定義參數z為int類型,并賦值為6int z = 6;//現在我們將定義好的參數傳遞給我們的方法,并將返回值輸出到控制臺//其中 + 符號代表的是連接符,將前面的字符與后面的字符鏈接;//而“+”代表的是輸出字符串,沒有實際意義,僅僅是為了輸出。//如果不太理解可以忽略,不影響對整體的理解。//在這里,傳入的兩個數據都是我們定義好的int類型的所以系統自動選擇第一個方法,輸出的結果是:3+4=7Console.WriteLine (x + "+" + y1 + "=" + Program .add(x,y1) );//這里輸入的參數為x,y2其中x是int類型,而y2是double類型的//系統會自動選擇其中的第二個方法輸出結果是 3+5.5=8.5Console.WriteLine(x + "+" + y1 + "=" + Program.add(x, y2));//這里輸入參數為 x,y1,和z 系統會自動選擇有三個參數的方法。輸出結果是 3+4+6=13Console.WriteLine(x + "+" + y1 + "=" + Program.add(x, y1,z));//讓控制臺暫停Console.ReadLine();}}}
? ? ? ? ?這是程序運行后的圖片:? ? ? ? ?![]()
