欢迎来到天天文库
浏览记录
ID:20262554
大小:46.50 KB
页数:3页
时间:2018-10-09
《java中类与类之间关系》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、类与类之间的关系对于理解面向对象具有很重要的作用,以前在面试的时候也经常被问到这个问题,在这里我就介绍一下。类与类之间存在以下关系:(1)泛化(Generalization)(2)关联(Association)(3)依赖(Dependency)(4)聚合(Aggregation)UML图与应用代码例子:1.泛化(Generalization)[泛化]表示类与类之间的继承关系,接口与接口之间的继承关系,或类对接口的实现关系。一般化的关系是从子类指向父类的,与继承或实现的方法相反。[具体表现]父类父类实例=new子类()[UML图](图1.1)图1.1Animal类与Ti
2、ger类,Dog类的泛化关系[代码表现]1.class Animal{} 2.class Tiger extends Animal{} 3.public class Test 4.{ 5. public void test() 6. { 7. Animal a=new Tiger(); 8. } 9.} 2.依赖(Dependency)[依赖]对于两个相对独立的对象,当一个对象负责构造另一个对象的实例,或者依赖另一个对象的服务时,这两个对象之间主要体现为依赖关系。[具体表现]依赖关系表现在局部变量,方法的参数,以及对静
3、态方法的调用[现实例子]比如说你要去拧螺丝,你是不是要借助(也就是依赖)螺丝刀(Screwdriver)来帮助你完成拧螺丝(screw)的工作[UML表现](图1.2)图1.2Person类与Screwdriver类的依赖关系[代码表现]1.public class Person{ 2. /** 拧螺丝 */ 3. public void screw(Screwdriver screwdriver){ 4. screwdriver.screw(); 5. } 6.} 3.关联(Association)[关联]对于两个相对独立
4、的对象,当一个对象的实例与另一个对象的一些特定实例存在固定的对应关系时,这两个对象之间为关联关系。[具体表现]关联关系是使用实例变量来实现[现实例子]比如客户和订单,每个订单对应特定的客户,每个客户对应一些特定的订单;再例如公司和员工,每个公司对应一些特定的员工,每个员工对应一特定的公司[UML图](图1.3)图1.3公司和员工的关联关系[代码表现]1.public class Company{ 2. private Employee employee; 1. public Employee getEmployee(){ 2. retu
5、rn employee; 3. } 4. public void setEmployee(Employee employee){ 5. this.employee=employee; 6. } 7. //公司运作 8. public void run(){ 9. employee.startWorking(); 10. } 11.}
此文档下载收益归作者所有