相关疑难解决方法(0)

喜欢构成而不是继承?

为什么喜欢构图而不是继承呢?每种方法都有哪些权衡取舍?什么时候应该选择继承而不是作文?

language-agnostic oop inheritance composition aggregation

1538
推荐指数
23
解决办法
29万
查看次数

Java中"最后一课"的意义何在?

我正在读一本关于Java的书,它说你可以把全班宣布为final.我想不出任何我会用它的地方.

我刚接触编程,我想知道程序员是否真的在他们的程序中使用它.如果他们这样做,他们何时使用它,以便我能更好地理解它并知道何时使用它.

如果Java是面向对象的,并且你声明了一个类final,那么它是否会阻止具有对象特征的类的想法?

java final

528
推荐指数
13
解决办法
42万
查看次数

Java多重继承,摆脱重复的代码

有类库B和C,都继承自A类.我有2个类扩展B&C,即MyB和MyC.

    A
   / \    
  B   C 
 /     \
MyB   MyC
Run Code Online (Sandbox Code Playgroud)

MyBMyC分享许多常见代码,它们只是略有不同.

我想摆脱重复的代码,我怎么能在java中做到这一点?在C++中,可以通过创建一个公共基类并将其中常见的所有内容放入其中,如下所示:

    A
   / \  
  B   C 
   \ /
  MyBase
   / \
 MyB MyC
Run Code Online (Sandbox Code Playgroud)

java multiple-inheritance

8
推荐指数
1
解决办法
1278
查看次数

为超类指定一个引用java

我有一个带有构造函数的Vector类

Vector(int dimension) // creates a vector of size dimension
Run Code Online (Sandbox Code Playgroud)

我有一个类Neuron,它扩展了Vector类

public class Neuron extends Vector {

    public Neuron(int dimension, ... other parameters in here ...) { 
         super(dimension);
         // other assignments below here ...
     }    
}
Run Code Online (Sandbox Code Playgroud)

我希望能够做的是在Neuron类中为Vector指定另一个Vector的引用.有点像

    public Neuron(Vector v, ... other parameters in here ...) { 
         super = v;
         // other assignments below here ...
     }    
Run Code Online (Sandbox Code Playgroud)

当然,我不能这样做.有一些工作吗?即使我无法在Neuron类的构造函数中执行此操作,也许可以.

java inheritance reference superclass

4
推荐指数
1
解决办法
348
查看次数

继承的构成2

请看一下以下问题:赞成组合而不是继承

接受的回答者说:"它扩展了Hashtable,以便重用其方法,并避免使用委托重新实现其中的一些".我不确定回答者的意思是:使用委托重新实现其中的一些.回答者是什么意思?

我熟悉Delegates和Observer设计模式.

vb.net design-patterns

0
推荐指数
1
解决办法
1106
查看次数

java中的继承(IS-A)与组合(HAS-A)关系

继承 (IS-A) 与组合 (HAS-A) 关系

请有人解释一下java中的继承(IS-A&HAS)关系是什么

java

-2
推荐指数
1
解决办法
1万
查看次数