|
|
1
10
问题在于Cars类仍然具有它从列表继承的接口,这可能允许您不需要的操作。 |
|
|
2
6
这取决于你们班的最终目的。如果它只作为您自己的集合实现工作,请使用继承。如果不是,则将集合作为属性包含。第二种选择更加通用:
|
|
|
3
4
我以前读错了这个问题。
我建议使用组合而不是继承。如果您希望能够使用所有的时髦的Linq东西,那么一定要实现
如果你 做 想“免费”获得收藏资料,但仍保留控制权,您可以使用 CollectionBase . 从继承的一次尝试的角度来看,这仍然将您束缚在一起,但至少您可以更好地控制集合中发生的事情。 |
|
|
4
3
如果你想让你的Cars类表现得像一个列表,并且拥有与之相同的方法,那就没有那么糟糕了。你只是从中得到灵感,你就完蛋了。然后,如果您想添加任何附加功能,您只需声明这些方法,就可以完成了。然而,现在你必须列出清单,如果清单以任何不受欢迎的方式改变,你就完蛋了。 当您将它改为复合类并在类中实例化列表时,您只需要tp公开您想要公开的列表方法。但这意味着你也必须重复一遍。 |
|
|
5
3
如果类的目的是向标准集合添加附加功能,那么我将从该集合继承。如果这个集合只是一个整体的一部分,那么这听起来更像是一个属性。 但是,我会考虑使用collection<t>而不是list<t>,除非您确实需要list<t>中的功能。 |
|
|
6
1
“汽车”课真的需要吗? 除了“list”还有其他功能吗?如果没有,您应该使用“list”(或更好的“ilist”)。 如果“汽车”类具有任何附加功能,则有两个主要场景:
.
如果您希望将来更灵活,您应该使用组合:
|
|
Fernando Chu · 一个变量有多个可能的类?[关闭] 1 年前 |
|
|
Amaterastis · 基类接受子类和内部子类的模板参数 1 年前 |
|
|
Rishab Negi · 这个关键字在抽象类中是如何工作的 1 年前 |
|
|
dEmigOd · 类层次结构中的运算符重载解析 1 年前 |
|
|
TableTopRug · 如何从Kotlin中的密封类继承? 1 年前 |
|
|
hasdrubal · 抽象基类函数指针python 2 年前 |
|
|
Josh · 通过反思访问孩子的财产 2 年前 |