抽象類主要用來給派生類共享基類的公共定義。抽象類不能被實例化。他可以包含抽象成員且不能被密封。
類中只要有一個方法申明爲抽象方法,那麼這個類也必須申明爲抽象類。
從抽象類派生出一個非抽象類時,需要在非抽象類中重寫抽象方法。重寫抽象方法需要使用override關鍵字。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace abstractclass
{
public abstract class Market
{
public string name { get; set; }
public string goods { get; set; }
public abstract void shop();
}
public class wallmarket:Market
{
public override void shop()
{
Console.WriteLine(name +"購買"+goods);
}
}
public class tmall : Market
{
public override void shop()
{
Console.WriteLine(name + "購買" + goods);
}
}
class Program
{
static void Main(string[] args)
{
Market market = new wallmarket();
market.name = "沃爾瑪超市";
market.goods = "凱塔斯邦威西服";
market.shop();
market = new tmall();
market.name = "天貓超市";
market.goods = "飄柔洗髮液";
market.shop();
Console.ReadKey();
}
}
}