一个理论问题:是否可以从超类 A 创建一个子类 B,该超类 A 继承所有 A 的实例变量/方法,除了来自超类 A 的特定实例变量/方法?
问问题
230 次
4 回答
6
这种情况表明 A 包含太多,不能成为一个好的基类。
创建一个包含 A 实现的那些部分的 C 类,您希望这些部分通常对继承有用。让 A 和 B 都扩展 C,专门针对他们的要求。C可以是抽象的。
于 2013-07-23T02:47:21.623 回答
4
不。如果 B 继承自 A,它会继承 A 的所有内容。(尽管它可以覆盖A 提供的方法实现。)
但是,您可以使用组合而不是继承将 A 包装在 B 中。在 B 中,仅公开您要公开的特定实例方法。
于 2013-07-23T02:57:18.697 回答
-1
需要明确的是,B 将继承 A 的方法,而不包括 A 的实例变量。
如果您希望B不继承A的一个特定方法或变量,您可以声明最终关键字。
于 2013-07-23T02:43:37.797 回答
-2
如果您不想继承,请将它们设为私有。
于 2013-07-23T02:41:26.920 回答