我是编程新手,对类(class)有一些疑问。

我将以卡雷尔为例:

public class Karel extends robot{
   ....

}

然后我扩展卡雷尔:
public class SuperKarel extends Karel{
   ....

}

但后来我想组织一些方法组:
public class KarelJumps extends SuperKarel {
    ....

}

public class KarelColor extends SuperKarel {
    ....

}

但是如果我想让卡雷尔跳跃,我必须创建一个实例KarelJumps 而不是 SuperKarel 。但是因为 KarelJumps 是一个
不同的对象然后 KarelColor 我不能使用它的任何方法。

那么我会不会把所有的 KarelJumpsKarelColor 方法
SuperKarel? 中我是否只制作一个大对象?

最佳答案

扩展类的最有用的原因是,您可以在新对象中使用底层类的功能,然后添加新类型独有的行为和特征。如果没有令人信服的理由这样做,而且经常没有,那就不要这样做。不要让你的设计过于复杂,只是为了尝试利用多态和继承。

您希望使用这些技术使您的应用程序不那么复杂而不是更复杂。对于一个新的程序员,我建议你拿到《代码完成》这本书,让它成为你的圣经一段时间。你不会从它本身学习一门语言,但你会了解事情应该如何做以及为什么这样做。

关于java - 理解类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1159166/

10-10 19:30