c# 子类隐藏父类的方法 和 子类重写父类方法 的区别
发布日期:2021-05-07 10:31:43 浏览次数:23 分类:精选文章

本文共 1207 字,大约阅读时间需要 4 分钟。

子类隐藏父类的方法(通过new操作符)

namespace ConsoleApp1{       class Program    {           static void Main(string[] args)        {               Student stu = new Student();            stu.Report();            CsStudent csStudent = new CsStudent();            csStudent.Report();        }    }    class Student    {           public void Report()        {               Console.WriteLine("I'm a student");        }    }    class CsStudent : Student    {       	// 子类对父类方法进行隐藏        new public void Report()        {               Console.WriteLine("I'm a CsStudent");        }    }}

重写在这里插入图片描述

重写的父类的方法时,被重写的那个父类方法要有virtualabstractoverride标注(修饰)

namespace ConsoleApp1{       class Program    {           static void Main(string[] args)        {               Student stu = new Student();            stu.Report();            CsStudent csStudent = new CsStudent();            csStudent.Report();        }    }    class Student    {           // 用virtual关键字修饰的方法是虚拟方法        public virtual void Report()        {               Console.WriteLine("I'm a student");        }    }    class CsStudent : Student    {           public override void Report()        {               Console.WriteLine("I'm a CsStudent");        }    }}
上一篇:c# checked unchecked 检查程序是否溢出
下一篇:c# 匿名类型创建实例(var 和 new)

发表评论

最新留言

不错!
[***.144.177.141]2025年03月27日 17时27分16秒