zoukankan      html  css  js  c++  java
  • 虚方法和抽象方法的区别

       虚方法:就是以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()
            {
             
            }
        }

  • 相关阅读:
    树莓派3 之 启动 和 系统配置
    树莓派3 之 初次使用
    Python 资源大全中文版
    乔布斯:遗失的访谈
    CSS3j背景渐变,字体颜色渐变,以及兼容IE写法
    系统设计相关
    JSON格式要求
    VUE解决空格和空行报错的问题
    css3实现悬停波浪效果
    css3实现匀速无限滚动效果
  • 原文地址:https://www.cnblogs.com/xiaolifeidao/p/3817182.html
Copyright © 2011-2022 走看看