Java——类之间的关系

Wesley13
• 阅读 752

3.7 类之间的关系

3.7.1 泛化关系

 类和类之间的继承关系及接口与接口之间的继承关系。

Java——类之间的关系

 Java——类之间的关系

3.7.2 实现关系

类对接口的实现。

Java——类之间的关系

3.7.3 关联关系

类与类之间的连接,一个类可以知道另一个类的属性和方法,在java 语言中使用成员变量体现。

Java——类之间的关系

Me

public class Me{

         String name; //Field

         //在当前类中含有其他类的引用。

         //在当前对象中含有指向其他对象的引用。

         //朋友

         Friend f; //Me和Friend就是关联关系

         Me(Friend f){

                   this.f = f;

         }

}

Friend

public class Friend{

         //Field

         String name;

         String addr;

         String tel;

         Friend(String addr){

                   this.addr = addr;

         }

}

Test

public class Test{

         public static void main(String[] args){

                   Friend f = new Friend("北京朝阳");

                   //建立关联关系

                   Me m = new Me(f);

                   //通过m可以获取朋友的住址

                   System.out.println(m.f.addr);

         }

}

3.7.4 聚合关系

是关联关系的一种,是较强的关联关系,是整体和部分的关系,如:汽车和轮胎,它与关联关系不同,关联关系的类处在同一个层次上,而聚合关系的类处在不平等的层次上,一个代表整体,一个代表部分,在java 语言中使用实例变量体现。

Java——类之间的关系

Classroom

//ClassRoom就是整体

public class ClassRoom{

         //ClassRoom和List集合属于关联关系.在同一个层级上.

         //ClassRoom和Student属于聚合关系,一个是整体,一个是部分.

         List stus; //Student就是部分.

         //聚合关系:整体不依赖部分,部分也不会依赖整体。

         //整体无法决定部分的生命周期。

}

Student

public class Student{

}

3.7.4 合成关系

是关联关系的一种,比聚合关系强的关联关系,如:人和四肢,整体对象决定部分对象的生命周期,部分对象每一时刻只与一个对象发生合成关系,在java 语言中使用实例变量体现。

Java——类之间的关系

public class 人{

       //人和List是关联关系.

       //人和四肢是合成关系,人是整体,四肢是部分.

       //合成关系和聚合关系是相似的,区别的地方在:整体和部分是紧密相连的

       //整体的生命周期决定部分的生命周期。

       List<四肢> s;

}

四肢

public class 四肢{

}

3.7.5 依赖关系

依赖关系是比关联关系弱的关系,在java 语言中体现为返回值,参数,局部变量和静态方法调用。

Java——类之间的关系

Test

public class Test{

         public void m1(){

                   //局部变量

                   User u = new User(); //依赖关系.

         }

}

User

class User{

 }

点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
2年前
java第五次上机
1.实现如下类之间的继承关系,并编写Music类来测试这些类。packageMusic;publicclassMusic{publicvoidtune(Instrumenti){i.play();}publicstaticvoidmain(Stringargs\\){Musicanew
Easter79 Easter79
2年前
String
一,String,StringBuffer,StringBuilder三者之间的关系三个类的关系:StringBuffer和StringBuilder都继承自AbstractStringBuilder这个类,而AbstractStringBuilder和String都继承自Object这个类(Object是所有java类的超类)
Stella981 Stella981
2年前
Spring Security使用详解5(角色继承)
之前的文章中,各个角色之间不具备任何关系,但一般来说角色之前是有关系的,例如ROLE\_admin一般既有admin的权限,又具有user的权限。下面介绍如何配置这种角色之间相互继承的关系。五、角色继承1、配置角色关系要配置角色继承关系,只需在SpringSecurity的配置类中提供一个RoleHierar
Wesley13 Wesley13
2年前
Java核心技术读书笔记02
第四章对象和类类之间的关系最常见的三种关系1.依赖("usesa")Order依赖Account类看信息2.聚合("hasa")Order包含多个Item3.继承("isa")知识点:所有Java对象都存在堆中。GregorianCalendar类所包含的方法要比Date类多得多。public避免标记
Wesley13 Wesley13
2年前
UML画图笔记
1\.类图:             描述类图的关系,                 a)泛化(一般用于继承)表示:空心箭头实线              b)实现(实现接口)表示:空心箭头虚线              c)聚合(一对多的关系)带空心菱形箭头实线              d)组合(a由b组成)
Stella981 Stella981
2年前
Hibernate利用关联关系操纵对象
Hibernate利用关联关系操纵对象数据对象之间关联关系有一对一、一对多及多对多关联关系。在数据库操作中,数据对象之间的关联关系使用JDBC处理很困难。本节讲解如何在Hibernate中处理这些对象之间的关联关系。本节使用到4个类,它们分别是Student(学生)、Card(学生证)、Group(班级)和Cou
Wesley13 Wesley13
2年前
C++ ORM ODB 入门介绍(二)
本节主要介绍ODB中的继承和C之间的关系。ORM中的O的关系是很复杂的。其中之一便是对象的继承体系。在C语言中支持类之间的继承,这这些继承的关系是否可以同时映射到数据库呢?1\.ODB中的继承类型ODB支持2中继承类型,abstract和polymorphic。根据ODB文档的描述,abstract方式为
Wesley13 Wesley13
2年前
Java基础28
1/2继承的概述:31.提高了代码复用性,简化了代码42.让类与类之间产生了继承关系,才有了后面的多态特性的存在5注意:千万不要为了获取其他类的功能简化代码,而建立继承关系,必须要类与类之间存在继承关系,继承关系:isa67子类拥有父类的成员,子类不能拥有父类
Wesley13 Wesley13
2年前
Java 类之间的关系
总述类和类之间的关系,耦合度从高到低:is。继承、实现has。组合、聚合、关联use。依赖。要求是:高内聚、低耦合。继承Person和Man之间是继承关系。!(https://oscimg.oschina.net/oscnet/7b9f06e3a37b7bc9c5c2fe14
Wesley13 Wesley13
2年前
C++之友元的学习总结
一、友元的概念:1、什么是友元?友元是c中的一种关系友元关系发生在函数与类之间或者类与类之间友元关系是单项的,不能传递!(https://oscimg.oschina.net/oscnet/f646e084c70a490981fc13