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()
            {
             
            }
        }

  • 相关阅读:
    富数据控件 DetailsView 和 FormView
    富数据控件 LstView(模版、分组)
    ADO.NET 基础(事务、通用的数据工厂)
    文件和流(使用流读写文件)
    ASP.NET 状态管理(Application)
    根据定制的 XML 文件进行随机抽取节
    缓存(缓存依赖)
    文件浏览器
    ASP.NET 状态管理(cookie、Session)
    使用HtmlControl动态创建一个表格
  • 原文地址:https://www.cnblogs.com/xiaolifeidao/p/3817182.html
Copyright © 2011-2022 走看看