我很久没和爪哇·奥普做任何事了 所以我有点生锈,想澄清一下
在爪哇,如果我记错的话, 人们可以声明一个超级类, 并立即给一个子类, 例如, < code > Superclass myObject = new Sub类 () 。
然后,人们可以将我的Object 传送到一个接受超级类参数的函数,并使用引用访问任何超级类属性/方法。
s 这里的东西会雾 - 如果你想访问子类特定的方法/变量, 您可以直接对我的对象( 被宣布为超级类) 这样做吗? 或者您需要先把它投入子类类型?
如果我们把这个翻到C# 现在, 同样的逻辑是否适用? 我遇到了一些奇怪的问题 试图重复这种行为。 我所关注的具体用途是:
//These are just declarations for ease-of-reading
Superclass bar = new Subclass();
public static void doSomething(Superclass foo) {...}
//Logic
doSomething(bar);
bar.superOnly() //Should this work?
bar.subOnly() //Should this work?
bar.subOverrided() //Will this call the superclass or subclass version?
我在教程中也搜索了这些东西, 但大多数例子似乎都是简单的“ 子类我的Object = 新的子类 () ” 例子, 带有微小的输出。 目前我没有发现什么能覆盖功能参数的模糊世界 。
如果有谁能帮我, 或者指给我具体的资源, 包括功能参数和 C# 的OO, 我会非常感激!