您好,我正在使用 unity 3D 与 lidgren 建立自己的网络。
有一次我为自己制作自定义图形用户界面时也遇到过这个问题,但问题不大。对其他开发人员的一个小警告没有什么帮助。
但这一次我需要更好的解决方案。
假设我有一个 BaseClass 和一个 Child:
public class BaseClass : MonoBehavior {
void Update() {
//my connectionhandler
}
}
public class Child : BaseClass {
// forbid it to define Update
void Update() {
}
// or let him use it but without writing base.Update() it should still use BaseClass Update()
}
正如您在两个类中看到的那样,我都有 void Update()。那个问题是如果 child 也使用 void Update 那么基础 Update 就不会再被调用了。有可能避免它。如果 base 已经定义,示例限制对更新方法的访问? 或者可以让 child 使用 void Update() 的定义,但基类也应该能够使用他自己的 Update()(后台工作:P)
其他开发人员不应每次都使用 base.Update()。我相信他们会多次忘记这一点 :)
最佳答案
您正在寻找 sealed
关键字,它可以防止进一步派生的类覆盖 virtual
方法。
关于c# - 可以禁止子类定义类吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32280275/