|
|
1
7
你在解决错误的问题。如果你有超类
编辑 :回应您的评论:
如果你
或者,一个更好的办法是
|
|
|
2
7
如果你用的是C 4 能够 使用动态键入…但是如果你想坚持静态类型,我想你能做的最好的就是提供 预期 键入作为泛型类型参数,并获取为您执行强制转换的方法:
用以下方式调用:
或使用隐式键入:
如果强制转换失败,它将在执行时引发异常。
这假设呼叫者知道预约类型(尽管他们可以指定
|
|
|
3
2
您可以创建一个通用方法:
但在调用对象之前,您需要知道它的实际类型… |
|
|
4
2
当你打电话
静态类型化就是在编译时和运行时所知道的类型之间的差异。如果您来自一种动态类型的语言,比如smalltalk或javascript,那么您必须对编程习惯和思维过程做一些调整。例如,如果必须对依赖于其运行时类型的对象执行某些操作,解决方案通常是使用它们在对象的运行时类型上分派的虚拟函数。 更新: 在您的特定情况下,使用虚拟函数,这正是它们的用途:
然后使用
|
|
|
5
1
您可以创建另一个方法来封装转换:
如果您试图将它与一个实际上不是分娩预约的ID一起使用,那么这个方法将被破坏,因此您可以考虑检查。
|
|
6
0
如果返回对父类型的子类型的引用,则该引用将是该类型的引用,并且编译器将不允许您访问子类型的任何成员,除非您强制转换为该类型。这是多态性的作用:) 好消息是,在转换引用类型时,您不会创建新的对象-您只需更改指向已具有的对象的引用类型,从而使您可以访问其成员。 |
|
|
Tigran Mkrtchyan · 数组排序自定义算法使用(PHP) 8 年前 |
|
|
user9590073 · 函数能否返回多个不同类型的值? 8 年前 |
|
|
Jianhui Wang · 返回泛型参数T并返回收益率 8 年前 |
|
|
Ryan · 具有可变返回类型的函数 8 年前 |
|
Jonathan Mee · 使用不同的返回类型强制SFINAE 8 年前 |
|
|
tru7 · 类型脚本。返回参数类型的数组 8 年前 |