技术库 技术手册 字体库 知识点 词汇表 联系我们
内容搜索   
本站最新推出网站制作字体库。
当前位置:WEB技术知识资源库(www.cn-web.com) .: .Net技术 .: C#教程 .: c#中virtual与override举例讲解补充(new)

c#中virtual与override举例讲解补充(new)


看过上两篇文章,有朋友问如果基类中的方法不是virtual的话,派生类可不可以用new来隐藏它?我认为是可以了。
代码(还是以书举例):
 
/// <summary>
/// 抽象类书
/// </summary>
public abstract class Book
{
    /// <summary>
    /// 书名
    /// </summary>
    public string bookName;
    /// <summary>
    /// 获取书名
    /// </summary>
    public  string getBookName()
    {
        return "这本书名是:"+bookName;
    }
    /// <summary>
    ///获取书出版社
    /// </summary>
    public  string getBookCome()
    {
        return "cn-web.com出版<br>";
    }
}
/// <summary>
/// 书的派生类
/// </summary>
public class NetBook : Book
{
    /// <summary>
    /// 隐藏基类中的同名方法,new可省略
    /// </summary>
    public new  string getBookName()
    {
        return bookName;
    }
    /// <summary>
    /// 隐藏基类中的同名方法,new可省略
    /// </summary>
    public new string getBookCome()
    {
        return "www.cn-web.com出版<br>";
    }
}
 
调用:
public class test
    {
        public test()
        {
              NetBook myNetBook = new NetBook();
        myNetBook.bookName = "asp.net开发案例<br>";
        Response.Write(myNetBook.getBookName());
        Response.Write(myNetBook.getBookCome());

 

        Book myBook = new NetBook();
        myBook.bookName = "asp.net基础开发<br>";
        Response.Write(myBook.getBookName());
        Response.Write(myBook.getBookCome());

        }
        public static void Main()
        {
            test t = new test();
        }
    }


Google
 

对此文章打分评级

用户评论

增加评论
此文章还没有任何评论!
网站地图 - 知识词汇 - 全文检索 - 广告服务 - 帮助中心 - 联系我们
.:www.cn-web.com
网站技术开发联盟之WEB开发技术知识库
联系人:老韩(QQ:5679551)
晋ICP备07003487号