c#中abstract方法与override举例讲解
抽象方法不含主体,必需在抽象类中,派生类必须实现该方法。
代码说明:
/// <summary>
/// 抽象类书
/// </summary>
public abstract class Book
{
/// <summary>
/// 书名
/// </summary>
public string bookName;
/// 抽象类书
/// </summary>
public abstract class Book
{
/// <summary>
/// 书名
/// </summary>
public string bookName;
/// <summary>
/// 抽象方法,获取书名,不含主体,抽象方法所在类必须为抽象类,派生类必须实现该方法
/// </summary>
public abstract string getBookName();
}
/// 抽象方法,获取书名,不含主体,抽象方法所在类必须为抽象类,派生类必须实现该方法
/// </summary>
public abstract string getBookName();
}
/// <summary>
/// 书的派生类
/// </summary>
public class NetBook : Book
{
/// <summary>
/// 实现抽象方法,必须实现,必须添加override关键字
/// </summary>
public override string getBookName()
{
return bookName;
}
}
/// 书的派生类
/// </summary>
public class NetBook : Book
{
/// <summary>
/// 实现抽象方法,必须实现,必须添加override关键字
/// </summary>
public override string getBookName()
{
return bookName;
}
}
调用:
public class test
{
public test()
{
NetBook myNetBook = new NetBook();
myNetBook.bookName = "asp.net开发案例";
Response.Write(myNetBook.getBookName());//将调用派生类netbook中的方法
{
public test()
{
NetBook myNetBook = new NetBook();
myNetBook.bookName = "asp.net开发案例";
Response.Write(myNetBook.getBookName());//将调用派生类netbook中的方法
Book myBook = new NetBook();
myBook.bookName = "asp.net基础开发";
Response.Write(myBook.getBookName());//将调用派生类netbook中的方法
myBook.bookName = "asp.net基础开发";
Response.Write(myBook.getBookName());//将调用派生类netbook中的方法
}
public static void Main()
{
test t = new test();
}
}
public static void Main()
{
test t = new test();
}
}
因为代码多了混乱,下一篇文章说明virtual与override,与这篇文章做下比较就能明白virtual与abstract的区别。
浙公网安备 33010602011771号