![]() |
1
6
好吧,有两件事:
你不能
转换
类的实例
即使在静态类型语言中,当您实例化
Ruby是一种动态语言,具有强大的反射功能,因此您可以随时决定在运行时实例化哪个类-请查看:
所以,这里不需要任何转换——只需首先实例化您需要的类。
另一件事:正如我在评论中提到的,方法
这只是冰山一角,还有很多关于实例化不同类的内容,我在注释中链接的另一个问题可能是一个很好的起点,尽管其中的一些代码示例可能会让您感到困惑。但这绝对值得理解。
编辑:在重新阅读更新后的问题之后,在我看来,正确的方法是创建一个工厂类,并让它检测和实例化不同的页面类型。所以用户不会打电话
和
|
![]() |
2
2
为什么不这样?能够做到这一点是一个很好的理由!
|
![]() |
3
1
可以定义一个实例化类并返回实例的方法。 这是众所周知的 Factory Pattern
|
|
simply lemon · python上链表的添加方法 10 月前 |
![]() |
HiroIshida · C++多重继承:实现具有重叠虚函数的接口[重复] 10 月前 |
|
Anonymous · 为什么在这个例子中self和类名的用法不同? 11 月前 |
![]() |
P N Singh · 在CPP Oops中调用对象而不创建它 11 月前 |
![]() |
Muthuraj · 如何创建一个通用工厂来创建某种类型的实例[重复] 1 年前 |
![]() |
Andy Votava · 从父类定义调用学生方法 1 年前 |