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

  • 相关阅读:
    idea 的maven窗口中dependencies有红线
    因SpringBootApplication指定scanBasePackages后,出现问题
    You have an error in your SQL syntax
    如何在Interceptor中使用@Autowired
    idea如何修改默认的${user}值
    idea如何创建类和接口时,自动添加类注释或接口注释?
    安装postman时报错
    https网站如何访问http接口
    Docker启动tomcat容器后访问404
    Python中and_Or
  • 原文地址:https://www.cnblogs.com/xiaolifeidao/p/3817182.html
Copyright © 2011-2022 走看看