对象关联, 一个对象关联另一个类的对象, 关联体现的是拥有关系
如何关联, 在本类中把另一个类的对象作为我的属性即可.
既然是属性, 需要修改全参构造, 提供get/set方法, 修改say
属性是成员, 成员可以互访, 所以在本类中的任意位置都可以直接方便的使用这个对象
public class Teacher {
private String name;
private int age;
private String gender;
private Computer myComputer; // 关联的对象
public Teacher() {}
public Teacher(String name, int age, String gender, Computer myComputer) { // 调整构造器
this.name = name;
this.age = age;
this.gender = gender;
this.myComputer = myComputer;
}
public void setMyComputer(Computer myComputer) {
this.myComputer = myComputer;
}
public Computer getMyComputer() {
return myComputer;
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setAge(int age) {
this.age = age;
}
public int getAge() {
return age;
}
public void setGender(String gender) {
this.gender = gender;
}
public String getGender() {
return gender;
}
public String say() {
return "姓名 : " + name + ", 年龄 : " + age + ", 性别 : " + gender + ", 我的电脑 : " + myComputer.say();
}
//public void lesson(Computer com) { // 对象的传递
public void lesson() {
System.out.println(name + "老师使用电脑[" + myComputer.say() + "]在上课"); // 在这里就可以使用关联的对象
}
public void jingdong() {
System.out.println("使用电脑[" + myComputer.say() + "]上京东");
}
}
public class Computer {
private double cpu;
private int memory;
public Computer() {}
public Computer(double cpu, int memory) {
this.cpu = cpu;
this.memory = memory;
}
public void setCpu(double cpu) {
this.cpu = cpu;
}
public double getCpu() {
return cpu;
}
public void setMemory(int memory) {
this.memory = memory;
}
public int getMemory() {
return memory;
}
public String say() {
return "CPU : " + cpu + "GHz , 内存 : " + memory + "G";
}
}