![]() |
1
3
您希望使用静态方法,这妨碍了正确使用继承。示例中的基类知道如何实现两个子类的功能。一种更清晰的编码方法是:
然后,您可以创建其他静态方法,或者在必须具有静态访问权的情况下使用singleton来访问这些方法。例如。:
|
![]() |
2
4
当然可以。这叫做模板模式。 然而 “尝试用静态方法做每件事”会很快毁掉你。首先,不能重写继承器中的静态方法。实例化和使用对象是面向对象编程的全部内容。创建实例正是使您能够减少代码重复的原因——您仍然只能在一个地方操作代码,但是该代码可以做很多不同的事情,并且在运行时处于不同的状态。
另外,不要使用
例如:
通过避免
|
![]() |
3
0
您所要做的似乎完全落入了类和继承的模式中。您有您的基本功能通用超级类和两个更具体的子类。您正在使用admincall布尔标志来区分这两个类,但更好的设计是在两个特定的子类中使用两个不同的methodname实现。 通过这种方式,您可以根据需要拥有尽可能多的稍微修改过的methodname版本(每个子类一个),并且可以简单地在作为basefunctionality或任何子类实例的任何“obj”上调用obj.methodname(string)。 |
|
Robert King · Unity C#语法问题-转换位置 1 年前 |
![]() |
JBryanB · 如何从基本抽象类访问类属性 1 年前 |
|
law · 检查答案按钮的输入字符串格式不正确 2 年前 |
![]() |
i_sniff_ket · 在unity之外使用unity类 2 年前 |