Java 的 组合和聚合 都可以看作包含 , 有点像 字符串定义的属性 和 它对应的字符串 的关系
Java 的聚合 是松散的,只是将地址赋给属性, 可以看作浅拷贝, 发生变化会影响属性的值;
Java的组合 是紧密的 ,他将内容赋给属性 ,可以看作深拷贝 , 变化不会影响属性的值;
一类
public class TextBook {
private String titl;
private String author;
private String book;
public void set(String First, String Second, String End) {
titl = First;
author = Second;
book = End;
}
public String toString() {
return "titl: " + titl + "\nauthor: " + author + "\nbook: " + book;
}
public String getTitl() {
return titl;
}
public String getAuthor() {
return author;
}
public String getBook() {
return book;
}
public TextBook(String First, String Second, String End) {
set(First,Second,End);
}
}
二类
public class Instructor {
private String Firstname;
private String Secondname;
private String Thirdname;
public void set(String First, String Second, String End) {
Firstname = First;
Secondname = Second;
Thirdname = End;
}
public String toString() {
return "Firstname: " + Firstname + "\nSecondname: " + Secondname + "\nThirdname: " + Thirdname;
}
public String getFirstname() {
return Firstname;
}
public String getSecondname() {
return Secondname;
}
public String getThirdname() {
return Thirdname;
}
public Instructor(String First, String Second, String End) {
set(First,Second,End);
}
}
主类
public class example {
private String Name;
private TextBook textBook;
private Instructor instructor;
public String toString() {
return "Name: " + Name + "\nTextBook: " + textBook + "\nInstructor: " + instructor;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
example example1 = new example();
TextBook textbook1 = new TextBook("sea","名字",".....");
Instructor instructor1 = new Instructor("lll","hhh","ccc");
example1.textBook = textbook1;
example1.instructor = new Instructor("lll","hhh","ccc");
System.out.println(example1);
textbook1.set("seesea", "大哥", "...");
instructor1.set("fff", "ddd", "sss");
System.out.println(example1);
example1.instructor.set("fff", "ddd", "sss");
System.out.println(example1);
}
}
水平有限,讲解不通