Net Core教程

C# 虚方法、抽象方法

本文主要是介绍C# 虚方法、抽象方法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一、虚方法(virtual)

作用:当有一个定义在类中的函数需要在继承类中实现时,可以使用虚方法。

示例:

 class Person
    {
        public virtual void XXX()
        {
            Console.WriteLine("我有一个梦想,那就是动身去往远方!!");
        }
     }
     class Boy : Person
    {
        public override void XXX()
        {
            Console.WriteLine("我不想继承父类的虚方法");
        }
         public void SSS()
        {
            Console.WriteLine("不学习就不会进步,不仅不就没有出人头地的机会");
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            Person person = new Person();//实例化的虚方法类
            Boy boy = new Boy();//实例化的子类
            boy.XXX();//调用了子类的方法
            boy.SSS();
            Console.ReadLine();
        }
    }

注意事项

1、当父类中有需要子类重写的方法,则可将该方法标记为virtual。

2、虚方法必须在父类中有实现或者空实现。

3、虚方法可以选择继承(不重写)父类的功能,也可以选择不继承(重写)。

 

二、抽象方法(abstract)

作用:让子类继承抽象类的成员,子类必须重写抽象类的成员,因为抽象方法没有任何实现。

示例:

///抽象类
public abstract class AbsParent
{
    ///抽象方法
    public abstract void AbsTest();
 
}

 public class AbsChild: AbsParent
{
   public override void AbsTest()
{
//实现抽象类
//无法使用base.AbsTest()
}
}

 

注意事项

1、抽象方法不能实现。

2、抽象方法必须放在抽象类中

3、抽象方法不能是私有的

4、抽象类被继承的时候,子类必须实现抽象类里面的所有抽象方法

 

总结

虚方法实际上是面向对象中多态的体现,不同的对象面对同一事物的不同反应,调用基类的虚方法来执行派生类的具体操作,而基类在调用时,并不需要知道派生类是怎么样实现的。

抽象方法就像他的名字一样,只负责“抽象”,具体实现交给子类来完成。

 

这篇关于C# 虚方法、抽象方法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!