java中类的组合机制
Posted alice4
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中类的组合机制相关的知识,希望对你有一定的参考价值。
经过课堂学习,了解了类的组合机制,之前只是介绍过java中类的继承,忽略了类的组合,今天补上。
在java中如果一个类A中有你想要调用的方法,在你新建一个类B时,可以将想要用的类A的对象引用作为数据成员,就可以将类B看作是由类A组合而成的。
以一个具体的例子,解释一下:
这个例子就是想创建一个类A,A有一个发射的方法,而已知的类FighterPlane有这个方法,所以就想用现成的方法,用到类的组合。目的是A的对象可以调用FighterPlane的方法,所以A类里面必须有一个FighterPlane对象的引用类型的数据成员,之后进行这个数据成员的初始化,要让它和一个FighterPlane的对象关联起来,即需要给A类的构造方法里传入实参,进行初始化。FighterPlane ftp = new FighterPlane("su35",10);这时产生了一个FighterPlane的对象和指向此对象的引用,之后 A a = new A(ftp); 则完成了A中的fp的初始化,A类的对象可以调用FighterPlane的方法了。
其实本质上就是A类的数据成员的数据类型比较特殊,但是同简单数据类型一样,也是进行初始化。另外,讲讲类的组合的优点,类的组合使用的是对象的引用,可以和不同的对象关联,但是在类的继承时,子类继承了父类所有的数据成员和方法,很笨重。因此尽量用组合,少用继承。
以上是关于java中类的组合机制的主要内容,如果未能解决你的问题,请参考以下文章