【代码直观举例解释】JAVA 类与类之间的六种种关系(泛化【就是继承】、实现、关联、依赖、聚合、组合)


我们平时阅读一些源码分析类文章或是设计应用架构时没少与UML类图打交道。实际上,UML类图中最常用到的元素,但是学习UML类图前呢,我们需要现了解类与类之间的六种关系:泛化【就是继承】、实现、关联、依赖、聚合、组合


泛 化 【 继 承 】 \color{#FF0000}{泛化【继承】}
表示的是类与类之间继承的关系。
class Animal{};

class Tigger extend Animal : public Animal{};

class Dog extend Animal : public Animal{};

Animal pAnimal = new Dog;


实 现 \color{#FF0000}{实现}
表示,实现接口。
interface A{}

class B implements A{}


依 赖 \color{#FF0000}{依赖}
表示,A类是B类的一个方法的参数
class A{}
class B{
void eat(A a ){}
}



关 联 \color{#FF0000}{关联}

  1. 单向关联

    表示,A类是B类的成员变量。
    class A{}
    class B{
    	A a;
    }
    
  2. 双向关联

    表示,A类是B类的成员变量,同时B类又是A类成员变量
    class A{
    	B b;
    }
    class B{
    	A a;
    }
    
  3. 自关联
    表示,A类是A类的成员变量
    class A{
    A a ;
    }


聚 合 \color{#FF0000}{聚合}
聚合就是单向关联


组 合 \color{#FF0000}{组合}

	组合是一种强聚合,表示,A类,B类都是C类的成员变量
	class A{}
	class B{}
	class C{
		A a;
		B b;
	}

持续更新,一起变强

你可能感兴趣的:(OOP,java)