這篇文章主要介紹“C#中怎么創(chuàng)建抽象類”,在日常操作中,相信很多人在C#中怎么創(chuàng)建抽象類問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”C#中怎么創(chuàng)建抽象類”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!
成都創(chuàng)新互聯(lián)公司主要從事成都網(wǎng)站制作、成都做網(wǎng)站、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)沈陽,10余年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18982081108
C# 允許您使用關(guān)鍵字 abstract 創(chuàng)建抽象類,用于提供接口的部分類的實現(xiàn)。當一個派生類繼承自該抽象類時,實現(xiàn)即完成。抽象類包含抽象方法,抽象方法可被派生類實現(xiàn)。派生類具有更專業(yè)的功能。
請注意,下面是有關(guān)抽象類的一些規(guī)則:
您不能創(chuàng)建一個抽象類的實例。
您不能在一個抽象類外部聲明一個抽象方法。
通過在類定義前面放置關(guān)鍵字 sealed,可以將類聲明為密封類。當一個類被聲明為 sealed 時,它不能被繼承。抽象類不能被聲明為 sealed。
下面的程序演示了一個抽象類:
using System;
namespace PolymorphismApplication
{
abstract class Shape
{
abstract public int area();
}
class Rectangle: Shape
{
private int length;
private int width;
public Rectangle( int a=0, int b=0)
{
length = a;
width = b;
}
public override int area ()
{
Console.WriteLine("Rectangle 類的面積:");
return (width * length);
}
}
class RectangleTester
{
static void Main(string[] args)
{
Rectangle r = new Rectangle(10, 7);
double a = r.area();
Console.WriteLine("面積: {0}",a);
Console.ReadKey();
}
}
}
當上面的代碼被編譯和執(zhí)行時,它會產(chǎn)生下列結(jié)果:
Rectangle 類的面積: 面積: 70
當有一個定義在類中的函數(shù)需要在繼承類中實現(xiàn)時,可以使用虛方法。
虛方法是使用關(guān)鍵字 virtual 聲明的。
虛方法可以在不同的繼承類中有不同的實現(xiàn)。
對虛方法的調(diào)用是在運行時發(fā)生的。
動態(tài)多態(tài)性是通過 抽象類 和 虛方法 實現(xiàn)的。
到此,關(guān)于“C#中怎么創(chuàng)建抽象類”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
網(wǎng)站標題:C#中怎么創(chuàng)建抽象類
文章出自:http://weahome.cn/article/piceeg.html