我是编程新手,对课程有一些疑问。
我将以卡雷尔为例:
public class Karel extends robot{
....
}
Run Code Online (Sandbox Code Playgroud)
然后我扩展卡雷尔:
public class SuperKarel extends Karel{
....
}
Run Code Online (Sandbox Code Playgroud)
但后来我想组织一些方法组:
public class KarelJumps extends SuperKarel {
....
}
public class KarelColor extends SuperKarel {
....
}
Run Code Online (Sandbox Code Playgroud)
不过,如果我想使卡雷尔跳我要创建的实例
KarelJumps相当的SuperKarel。但是因为KarelJumps是一个不同的对象,所以KarelColor 我不能使用它的任何方法。
那么我是否将所有的KarelJumps和KarelColor 方法都放在里面SuperKarel?难道我只制作一个大对象吗?
扩展类的最有用的原因是,您可以在新对象中使用底层类的功能,然后添加新类型独有的行为和特征。如果没有令人信服的理由这样做,而且经常没有,那就不要这样做。不要让你的设计过于复杂,只是为了尝试利用多态和继承。
您希望使用这些技术使您的应用程序不那么复杂而不是更复杂。对于一个新的程序员,我建议你拿到《代码完成》这本书,让它成为你的圣经一段时间。你不会从它本身学习一门语言,但你会了解事情应该如何做以及为什么这样做。
| 归档时间: |
|
| 查看次数: |
406 次 |
| 最近记录: |