欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
面向對象的關(guān)鍵技術(shù)(多態(tài)、接口、抽象)

對于一些C#的初學(xué)者,類(lèi)似于面向對象中的多態(tài)、接口、抽象、不是能很好的理解,本帖只針對一些初學(xué)者對這幾個(gè)概念不是很理解的人看,

牛人請繞道額就不要浪費時(shí)間了哈!我一個(gè)一個(gè)來(lái)就舉一些簡(jiǎn)單易懂的例子!

多態(tài)

直接上例子:

using System;//包含基本類(lèi)和基類(lèi)

using System.Collections.Generic;//定義泛型集合的接口和類(lèi)

using System.Linq;//支持語(yǔ)言集成查詢(xún)

using System.Text;//包含用于字符編碼等功能的對象



namespace Test

{

class Program

{

static voidMain(string[] args)

{

MyHobby[]hobbies=new MyHobby[4];

hobbies[0] = new MyHobby();

hobbies[1] = new Writing();

hobbies[2] = new Programing();

hobbies[3] = new Music();

foreach(MyHobby obj in hobbies)

{

obj.Interest();

}

Console.ReadKey();

}

}

/// <summary>

/// 基類(lèi) MyHobby

/// </summary>

class MyHobby

{

public virtual void Interest()

{

Console.WriteLine("我的愛(ài)好是:");

}

}

/// <summary>

/// Writing 繼承 MyHobby

/// </summary>

class Writing : MyHobby

{

public override void Interest()//重載方法Interest()

{

Console.WriteLine("寫(xiě)作");

}

}

/// <summary>

/// Programing 繼承 MyHobby

/// </summary>

class Programing : MyHobby

{

public override void Interest()//重載方法Interest()

{

Console.WriteLine("編程");

}

}

/// <summary>

/// Music 繼承 MyHobby

/// </summary>

class Music : MyHobby

{

public override void Interest()//重載方法Interest()

{

Console.WriteLine("音樂(lè )");

}

}



}

運行結果:

 

總結:思想是,從基類(lèi)中派生出三個(gè)類(lèi),在這三個(gè)類(lèi)中重載基類(lèi)的方法,然后重新調用派生類(lèi)中的方法。因為每一次重載的功能都不一樣,所以就實(shí)現了多態(tài)!

 

接口

還是用一個(gè)例子來(lái)說(shuō)明:

using System;//包含基本類(lèi)和基類(lèi)

using System.Collections.Generic;//定義泛型集合的接口和類(lèi)

using System.Linq;//支持語(yǔ)言集成查詢(xún)

using System.Text;//包含用于字符編碼等功能的對象



namespace Test

{

class Program

{

static voidMain(string[] args)

{

UseInterface u = new UseInterface();//創(chuàng )建對象,調用方法

u.SayHello();

Console.ReadKey();

}

}

/// <summary>

/// 定義了一個(gè)接口FirstInterface

/// </summary>

interface FirstInterface

{

string Name//定義了一個(gè)屬性

{

get;

set;

}

void SayHello();//關(guān)鍵定義了方法,但是沒(méi)有方法體!

}

/// <summary>

/// 既然已經(jīng)繼承了接口,那必須要實(shí)現接口中的全部屬性,方法等,缺一不可,

/// 例如如果不實(shí)現Name屬性,程序就會(huì )報錯!

/// </summary>

class UseInterface : FirstInterface

{

string name = "我的名字叫龍騰!";



public string Name//重新實(shí)現接口中的屬性

{

get { return name; }

set { name = value; }

}

/// <summary>

/// 實(shí)現接口中的方法,這里不需要像多態(tài)中用到的 override 改寫(xiě)方法,直接拿過(guò)來(lái)加上方法體就可!

/// </summary>

public void SayHello()

{

Console.WriteLine("大家好!"+this.name);

}



}



}

運行結果:

總結:接口的本質(zhì)就是一些方法!但是要使用這些方法必須要按照一定的規則,否則就不能使用。定義接口,其實(shí)質(zhì)就是定義規則,要使用接口,必須在它的規則下進(jìn)行!

 

抽象

抽象類(lèi)和接口有一些相似之處,它們都包含由派生類(lèi)繼承的成員,接口和抽象類(lèi)都不能直接實(shí)例化?。ㄌ摰臇|西你怎么能拿來(lái)使用呢對吧?必須要使用第三方的東西來(lái)搭橋)

using System;//包含基本類(lèi)和基類(lèi)

using System.Collections.Generic;//定義泛型集合的接口和類(lèi)

using System.Linq;//支持語(yǔ)言集成查詢(xún)

using System.Text;//包含用于字符編碼等功能的對象



namespace Test

{

class Program

{

static voidMain(string[] args)

{

UseMyAbstract u = new UseMyAbstract();//創(chuàng )建對象,調用方法

u.SayHello();

Console.ReadKey();

}

}

/// <summary>

/// 定義一個(gè)抽象類(lèi)MyAbstract

/// </summary>

abstract class MyAbstract

{

public abstract void SayHello();//定義一個(gè)抽象方法,同樣沒(méi)有方法體!

}

/// <summary>

///定義一個(gè) UseMyAbstract類(lèi) 繼承 MyAbstract抽象類(lèi)

/// </summary>

class UseMyAbstract : MyAbstract

{

public override void SayHello()//改寫(xiě)抽象類(lèi)MyAbstract中的方法SayHello()

{

Console.WriteLine("大家好!我是龍騰!");

}

}



}

運行結果:

總結:抽象類(lèi)可以擁有抽象成員,但是不能直接被實(shí)例化,并且沒(méi)有代碼體,它的執行方法是在其派生類(lèi)中實(shí)現的!注意,只要這個(gè)類(lèi)中有一個(gè)方法定義為抽象方法,那么這個(gè)類(lèi)必須定義為抽象類(lèi)!

 

以上只是我個(gè)人的一些小的學(xué)習感悟!希望能幫到那些需要幫到的人!

作者:李正興     英文名:black_li
出處:http://www.cnblogs.com/longteng1991/
如果,您喜歡這篇文章的話(huà),您可以分享給您的好友,請點(diǎn)擊按鈕【推薦】。
如果,您想更快的閱讀我的最新文章,您可以關(guān)注我,請點(diǎn)擊按鈕【關(guān)注】。
本文版權歸作者和博客園共有,歡迎轉載,但未經(jīng)作者同意必須保留此段聲明,且在文章頁(yè)面明顯位置給出原文連接,否則保留追究法律責任的權利。     
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
淺談C# 多態(tài)的魅力
C#接口
OOP面向對象
抽象類(lèi)和接口(抽象類(lèi)部分實(shí)現,接口隱式實(shí)現)
設計模式-結構型-橋接模式
Spring.NET學(xué)習筆記14——AOP的通知類(lèi)型(基礎篇) Level 300
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久