码迷,mamicode.com
首页 > Windows程序 > 详细

c# 重写

时间:2018-04-17 15:41:09      阅读:247      评论:0      收藏:0      [点我收藏+]

标签:class   virt   oid   同名   重写   namespace   ogr   color   JD   

  a.重写父类的方法要用到override关键字(具有override关键字修饰的方法是对父类中同名方法的新实现)

 

     b.要重写父类的方法,前提是父类中该要被重写的方法必须声明为virtual或者是abstract类型。给父类中

     要被重写的方法添加virtual关键字表示可以在子类中重写它的实现。(注意:C#中的方法默认并不是

     virtual类型的,因此要添加virtual关键字才能够被重写)

 

     C.virtual关键字用于将方法定义为支持多态,有virtual关键字修饰的方法称为“虚拟方法”

      [访问修饰符] virtual [返回类型] 方法名(参数列表)

     {

     //虚拟方法的实现,该方法可以被子类重写

     }

namespace ConsoleApplication1
{
    class Employee
    {
        public Employee()
        {
            Console.WriteLine("父类的构造方法");
        }
        public virtual void EmpInfo()
        {
            Console.WriteLine("父类的虚拟方法");
        }
    }
    class DervEmployee : Employee
    {
        public DervEmployee()
        {
            Console.WriteLine("子类的构造方法");
        }
        public override void EmpInfo()
        {
            base.EmpInfo();//base关键字将在下面拓展中提到
            Console.WriteLine("子类的重写方法");
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            DervEmployee objDervEmployee = new DervEmployee();
               objDervEmployee.EmpInfo();
                //注意:objDervEmployee派生类的实例是赋给Employee类的objEmployee的引用,
                // 所以objEmployee引用调用EmpInfo()方法时 还是调用DervEmployee类的方法
               Employee objEmployee = new Employee();
               objEmployee.EmpInfo();
        }
    }
}

技术分享图片

 

c# 重写

标签:class   virt   oid   同名   重写   namespace   ogr   color   JD   

原文地址:https://www.cnblogs.com/jesssey/p/8866945.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!