继承优点
继承是OOP中的四个支柱之一,用处很大。假如你要写一个很大很复杂的类,你需要花费大量的时间去编写,和调试这个类,直到它能用为止,但是加入你能找到一个与你要写的类有80%的相似度时,你就可以直接使用它,并修改其中你不需要的,但是有可能你无法直接使用这个类:
- 有可能它已经被编译到字节码里了,你无法访问其源代码。
- 这个类的所有者不是你,你直接复制去使用,可能会被招到起诉。
- 这个类毕竟不是你写的,其中会有许多你不需要的代码,并且在你加入自己的代码后,该类可能会出现错误。
你可以将该类声明为你的类的父类,这样你就不会招来起诉,这相当于你把所有父类的方法,字段全都加到你的代码里。
当你想要做出许多类,但是他们有许多共同特征,你就可以将这些共同特征单独出来,成为一个类,然后让其他类继承,这样就避免了编写许多重复代码的麻烦,而且还方便以后的修改。
例如国际象棋的程序中,有许多棋子,它们都有位置,价值的属性,他们之间还有这不同,例如名字和移动方法的不同。
class King
{
int x;
int y;
int worth;
public void KingMove(){
//定义方法
}
}
class Queen
{
int x;
int y;
int worth;
public void QueenMove(){
//定义方法
}
class Knight
{
int x;
int y;
int worth;
public void KnightMove(){
//定义方法
}
}
/*
*等等象棋的棋子的类,但是我们发现他们都有x,y,worth,我们就可以
*把它们单独出来形成一个类。
*/
}
由以上,我们就可以怎么做,看下图
class ChesItem
{
int x;
int y;
int worth;
}
class King extends ChessItem
{
public void KingMove(){
//定义方法
}
}
class Queen extends ChessItem
{
public void QueenMove(){
//定义方法
}
}
总结
一个类只可以继承一个类,要是想要继承多个类,就要涉及到接口。继承是在基类的基础上可以添加新类所需要的方法或字段。