• 虚方法和抽象方法的区别


       虚方法:就是以virtual关键字修饰并在一个或多个派生类中实现的方法。如果一个方法被virtual标记,则不可再被static、abstract和override修饰。

       抽象方法:是以abstract关键字修饰的方法,抽象方法可以看做是没有实现体的虚方法,并且必须在派生类中被重写,如果一个类包括抽象方法,则该类就是一个抽象类。

      

     (一) 虚方法

       1.虚方法中必须包含实现,abstract修饰的方法一定不能包含实现;

       2.virtual可以被子类重写,而abstract必须被子类重写;

      class Base
        {
            public virtual void MyFunc(string sdd)
            {
                string str = "dd"+sdd;
            }
        }

     

     class Derived : Base
        {
            public override void MyFunc(string ss)
            {
                string str = "dds" + ss;
            }
        }

        (二) 抽象方法

       1.如果类成员被abstract修饰,则该类前必须添加abstract,因为只有抽象类才可以有抽象方法。

        abstract class Base
        {
            public abstract void MyFunc(string sdd)
            {
                string str = "dd"+sdd;//报错,无法声明主体,因为它被标记为abstract
            }
        }

      2.abstract必须被子类重写

       abstract class Base

      {

          public abstract void MyFunc();

      }

       class Derived : Base
        {
            public override void MyFunc()
            {
             
            }
        }

  • 相关阅读:
    Nginx
    Influxdb
    Gitlab
    Git
    Gogs
    Dockerfile
    Docker Data
    My Projects
    中文学习
    科技精选
  • 原文地址:https://www.cnblogs.com/xiaolifeidao/p/3817182.html
Copyright © 2020-2023  润新知