美文网首页
类的关系

类的关系

作者: 割麦子洁 | 来源:发表于2018-06-27 22:57 被阅读0次

【重点掌握】:设计模式定义、类关系、抽象封装具体、面向超类型编程

【重点掌握】:策略模式的参与角色、职责分配、协作及代码实现。

超类型就是抽象类或接口

1、接口

2、关联:类之间的联系,如客户和订单,每个订单对应特定的客户,每个客户对应一些特定的订单,再如篮球队员与球队之间的关联

理解:关联(Association)关系是类与类之间的联接,它使一个类知道另一个类的属性和方法。关联可以是双向的,也可以是单向的。在Java语言中,关联关系一般使用成员变量来实现。

关联分为组合和聚合

Public class A {

    Private B b;//从这行代码显示A关联B,但不能决定是组合还是聚合关系,

}

2.1组合:整体与部分间的关系,不可分的,比如人和人的大脑,比聚合关系强的关系。

public class Head

{

    private Mouth mouth;

    public Head()

    {

        mouth = new Mouth();//类Head对象创建时Mouth对象也创建了

    }

}

public class Mouth

{

}

2.2聚合:整体与部分之间是可分离的,比如计算机与CPU、公司与员工的关系等,与关联关系一样,聚合关系也是通过实例变量实现的。但是关联关系所涉及的两个类是处在同一层次上的,而在聚合关系中,两个类是处在不平等层次上的,一个代表整体,另一个代表部分。

Public class A {

    Private B b; //注意这有定义类B在类A中的私有变量

    Public set(B b){

        This.b=b;}

}

//从这行代码显示A类对象创建时,B类对象没有创建,类比组装主板A和其上的网卡B,两者可以分拆,换一个新的网卡。

Main(){

    A a = new A();

    a.set(new B());

}

3.依赖:以类A依赖类B为例,表示类B出现在类A的一个方法中的参数中、方法体局部变量、或静态B方法调用、返回值。

理解:依赖(Dependency)关系是类与类之间的联接。依赖关系表示一个类依赖于另一个类的定义。例如,一个人(Person)可以买车(car)和房子(House),Person类依赖于Car类和House类的定义,因为Person类引用了Car和House。与关联不同的是,Person类里并没有Car和House类型的属性Car和House的实例是以参量的方式传入到buy()方法中去的。一般而言,依赖关系在Java语言中体现为局域变量、方法的形参,或者对静态方法的调用。

public class Driver {

    public void drive(Car car) {

        car.move();

    }

}

public class Car {

    public void move() {

       }

}

4. 泛化关系(Generalization)也就是继承关系

1、子类与父类应该完全一致,父类所具有的属性、操作,子类应该都有;

2、子类中除了与父类一致的信息以外,还包括额外的信息;

3、可以使用父类的实例的地方,也可以使用子类的实例;

相关文章

  • 类的关系

    【重点掌握】:设计模式定义、类关系、抽象封装具体、面向超类型编程 【重点掌握】:策略模式的参与角色、职责分配、协作...

  • 类的关系

    在UML类图中,常见的有以下几种关系:泛化(Generalization),实现(Realization),关联(...

  • 类关系

    六种关系继承与实现关系:类B继承类A或者接口A,就称为继承与实现关系。依赖关系:类B独立模型,类A中方法用到类B,...

  • 类关系

  • iOS 对类,元类,根元类关系图的验证

    一.类,元类,根元类关系图 网上流传一张类,元类,根元类的关系图。详细描述了它们相互间的继承关系和isa指向关系。...

  • Geek band 第三周

    类与类之间的关系 复合关系、委托关系、继承关系。 ​1.复合关系,表示has-a,也就是一个类中包含有另外一个类,...

  • Python 入门 之 类的三大关系(依赖 / 组合/ 继承关系

    在面向对象的中,类与类之间存在三种关系:依赖关系、组合关系、继承关系。 1、依赖关系:将一个类的类名或对象当做参数...

  • 类图,对象图,时序图

    1.类图 1.类与类之间的关系: 在绘制类图前,先熟悉类与类之间的关系。面向对象语言中类与类之间关系共计六种,分别...

  • iOS类的结构分析

    一、实例对象、类、元类关系分析 1. 实例对象、类、元类关系图解析 我相信上面这张经典的实例对象、类、元类关系图大...

  • C++面向对象高级编程_第三周

    类与类之间的关系 组合 composition has-a 关系, 继承 inheritance is-a 关系 ...

网友评论

      本文标题:类的关系

      本文链接:https://www.haomeiwen.com/subject/ifkwyftx.html