java组合与继承的结合_Java中的继承、聚合与组合

一、继承关系

1.文字描述

一个类或者接口继承了另一个类或者接口,增加了在原有的方法和属性上增加了新的方法和属性。

继承描述的是一种能力:可以使用现有类的所有功能,并在无需重新编写原有类的情况下进行功能上的扩展。

要使用继承,必须满足 is-a 原则(代码复用),定义的语法为:子类 extends 父类。

子类:又称为派生类,子类一定具有父类的全部属性与行为,并且拥有的属性更多,具有的行为更加丰富,表示的范围更小。

父类:又称为超类。

60a89b42859260b0f76be7e70a8f9bd5.png

2.代码描述

class A { }

class B extends A { }

class C extends B { }

class Person {

private String name;

public void setName(String name) {

this.name = name;

}

public String getName() {

return name;

}

}

class Student extends Person {

public void fun() {

System.out.println(getName());

}

}

public class JiCheng4 {

public static void main(String[] args) {

Student stu = new Student();

stu.setName("张三");

System.out.println(stu.getName());

stu.fun();

}

}

二、聚合关系

1.文字描述

聚合关系 has a,关联关系较弱,后期使用不会因为对象的删除而删除。

聚合代表了has-a的关系;

并且是一种单向关系。单向的。比如说,公寓里面有学生,但是学生里面不能有公寓,这是一种天生的单向关系;

在聚合的关系中,两种实例是可以单独存在的,不会相互影响,一个实例的存在与否不会影响与之聚合的实例的存在与否。

b24100170ed1c1e1b4be774a5b5a5742.png

2.代码描述

class A{}

class B{

A a;//成员变量引入了A类

B(A a){

this.a = a;

}

}

三、组合关系

1.文字描述

组合关系contains a,关联关系较强,整体和部分是不可分割的,他们又共同的生命周期。

代表这一种part-of的关系,就是一个类是另一个类的一部分;

在组合的关系中,实例是彼此依赖的。;

当两个实例是组合关系,它们就是高度耦合的,一个对象必须依赖另一个对象的存在而存在。

8f6acc525540d791652dc49662946c2a.png

2.代码描述

class A{}

class B{

A a;//成员变量引入了A类

B(){

this.a = new A();

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值