• Java——类之间的关系


    3.7 类之间的关系

    3.7.1 泛化关系

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

     

    3.7.2 实现关系

    类对接口的实现。

    3.7.3 关联关系

    类与类之间的连接,一个类可以知道另一个类的属性和方法,在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 语言中使用实例变量体现。

    Classroom

    //ClassRoom就是整体

    public class ClassRoom{

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

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

             List<Student> stus; //Student就是部分.

            

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

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

    }

    Student

    public class Student{

    }

    3.7.4 合成关系

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

    public class 人{

          

           //人和List是关联关系.

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

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

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

           List<四肢> s;

    }

    四肢

    public class 四肢{

    }

    3.7.5 依赖关系

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

    Test

    public class Test{

             public void m1(){

                      

                       //局部变量

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

             }

            

    }

    User

    class User{

     }

  • 相关阅读:
    2015-10-09 Fri 晴 加快进度看书
    lseek()函数
    pipe()管道最基本的IPC机制
    linux VFS 内核数据结构
    tcp协议中mss的理解
    tcp的精髓:滑动窗口
    2015-10-11 Sunday 晴 ARM学习
    2015-10-12 晴 审面包车
    2015-10-14 晴 tcp/ip
    pyfits过滤数据更新文件。
  • 原文地址:https://www.cnblogs.com/superjishere/p/11833819.html
Copyright © 2020-2023  润新知