认真CS丨虚方法 Virtual 与 抽象方法 Abstract

一、虚方法 Virtual

virtual 关键字用于在基类中修饰方法。virtual的使用会有两种情况:

情况1:在基类中定义了virtual方法,但在派生类中没有重写该虚方法。那么在对派生类实例的调用中,该虚方法使用的是基类定义的方法。

情况2:在基类中定义了virtual方法,然后在派生类中使用override重写该方法。那么在对派生类实例的调用中,该虚方法使用的是派生重写的方法。

二、抽象方法 Abstract

1、基础用法:

a、abstract关键字修饰方法,该方法没有具体的实现。

且该方法所在的类必须用abstract修饰,该类称为抽象类。

    public abstract class UIBase : MonoBehaviour
    {
        public abstract void GetUiId();
    }

b、抽象方法的实现,必须在派生类中使用override关键字来实现。

    public class BasicUI : UIBase    
    {
        public override void GetUiId()
        {
            throw new System.NotImplementedException();
        }
    }

2、拓展用法

派生类也可不实现抽象方法,只需将派生类改为抽象的派生类就好了。

    public abstract class BasicUI : UIBase    
    {
    }


 

发布了320 篇原创文章 · 获赞 77 · 访问量 17万+

猜你喜欢

转载自blog.csdn.net/weixin_38239050/article/details/103449679