抽象类主要用来给派生类共享基类的公共定义。抽象类不能被实例化。他可以包含抽象成员且不能被密封。
类中只要有一个方法申明为抽象方法,那么这个类也必须申明为抽象类。
从抽象类派生出一个非抽象类时,需要在非抽象类中重写抽象方法。重写抽象方法需要使用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();
}
}
}