通过Java代码示例说明面向对象中的对象之间关系

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
杨教授大学堂,版权所有,盗版必究。 3/10 页
杨教授大学堂 精心创作的优秀程序员 职业提升必读系列资料
private List courses; private Assistant assitant; public static void teach() { } public boolean addCourse(Course course) {
杨教授大学堂 精心创作的优秀程序员 职业提升必读系列资料
通过 Java 代码示例说明面向对象中的对象之间关系
1、请用具体的 Java 代码示例说明什么是对象之间的“关联”、“依赖”、“聚合”、“组合” 和“继承”关系
“关联”、“依赖”、“聚合”、“组合”不是相互独立的概念,并且“关联”、“依赖”、“聚 合”、“组合”和“继承”都会在类之间产生“耦合”。
return name; } public void setName(String name) {
this.name = name; } } public class Teacher extends People{ public static void teach() {
} }
杨教授大学堂,版权所有,盗版必究。 1/10 页
} public class A{
public B setBId(B b,int id){ B.setId(id); return b;
} } 在类 A 的方法 setBId 中对传入的参数 b 和 id 进行访问,访问 b 的 setId(int id)方法,那 么就可以说 A 依赖 B。 (3)关联 每个老师有一个助教。老师和助教之间是关联的关系。 public class Teacher extends People{
"我让你做事情,就是调用了你的方法,那么就说我关联了你。 我为什么能让你做事情呢?因为我有你的引用,你的引用在我这里是个属性,换句话说, “我有(has a)你”,那么就是聚合; 如果你的引用在我这里是个局部变量,就是说“我用(use a)你”,就是依赖; 如果我消失了,你也就跟着消失了,也就是说,你是我的一个组成部分,并且我和你拥 有相同的生命周期,那就是组合,这是最强的一种关联,是聚合的特殊形式。 (1)继承关系 老师继承了人的一些属性。老师和人之间是继承关系 public class People { private String name; public String getName() {
return true; } public boolean setAssistant(Assistant assitant) {
return true; } } public class Assistant { private String aName; public String getAName() {
public class Order { private Long id; private String orderNumber; private double price; private Customer customer; public Order() { } public Order(String orderNumber,double price,Customer customer){ this.orderNumber = orderNumber; this.price = price; this.customer = customer; } public Customer getCustomer() { return customer; }
杨教授大学堂 精心创作的优秀程序员 职业提升必读系列资料
(2)依赖 老师可以讲授多门课程。老师依赖于课程
public class Teacபைடு நூலகம்er extends People{ private List courses; public static void teach() { } public boolean addCourse(Course course) { return true; }
} }
杨教授大学堂 精心创作的优秀程序员 职业提升必读系列资料
依赖其实指的是类之间的访问关系,如果类 A 访问类 B 的属性或方法,或者类 A 负责 实例化类 B,那么就可以说类 A 依赖类 B。
public class B{ private int id; public int getId(){ return this.id; } public void setId(int id){ this.id = id; }
杨教授大学堂,版权所有,盗版必究。 5/10 页
杨教授大学堂 精心创作的优秀程序员 职业提升必读系列资料
public void setCustomer(Customer customer) { this.customer = customer;
} public Long getId() {
return id; } public void setId(Long id) {
this.id = id; } public String getOrderNumber() {
return aName; } public void setAName(String aName) {
this.aName = aName; } }
杨教授大学堂,版权所有,盗版必究。 4/10 页
杨教授大学堂 精心创作的优秀程序员 职业提升必读系列资料
关联指的是类之间的引用关系,关联可以分为“一对一”、“一对多”和“多对多”关 联。例如以下的代码中 Customer 和 Order 订单对象之间就存在一对多的关联关系。
} public class Course {
private String cName; public String getCName() {
return cName; } public void setCName(String cName) {
this.cName = cName;
杨教授大学堂,版权所有,盗版必究。 2/10 页
相关文档
最新文档