关于人和孩子与车
class Member{
private int mid;
private String name;
private Member child;//表示孩子
private Car car; //表示属于人的车
//car有实例化对象表示有车
//car为null表示没有车
public Member(int mid,String name) {
this.mid=mid;
this.name=name;
}
public String getInf0() {
return "人员编号:"+this.mid+",姓名:"+this.name;
}
public void setCar(Car car) {
this.car=car;
}
public Car getCar() {
return this.car;
}
//设置孩子名字
public void setChild(Member child) {
this.child=child;
}
//得到孩子名字
public Member getChild() {
return this.child;
}
}
//step1:根据定义的机构设置数据
//step2:根据定义的结构取出数据
class Car{
private String pname;
private Member member;//车属于一个人
public Car(String pname) {
this.pname=pname;
}
//得到车的名字
public String getInfo() {
return "车的名字:"+this.pname;
}
//设置人的名字
public void setMember(Member member) {
this.member=member;
}
//得到人的名字
public Member getMember(){
return this.member;
}
}
public class Test {
public static void main(String[] args) {
//第一步:设置数据
Member m=new Member(1,"卢本伟");//独立对象
Member chd=new Member(2,"马飞");//一个孩子
Car cc=new Car("二手UU公交车");//一辆车
Car c=new Car("UU公交车");//独立对象
m.setCar(c);//一个人有一辆车
c.setMember(m);//一辆车属于一个人
chd.setCar(cc);//一个孩子有一辆车
cc.setMember(chd);//一辆车属于一个孩子
m.setChild(chd);//一个人有一个孩子
// 第二步:取出关系
//通过人找到车的信息
System.out.println(m.getCar().getInfo());
//通过车找到人的信息
System.out.println(c.getMember().getInf0());
//通过人找到他孩子的信息
System.out.println(m.getChild().getInf0());
//通过人找到他孩子的信息再通过孩子找到车的信息
System.out.println(m.getChild().getCar().getInfo());
//m.getChild().getCar().getInfo()为代码链
}
}
{
class 键盘{}
class 鼠标{}class CPU{}
class 硬盘{}
class 内存{}
class 显示器{}
class 主板{}
class 主机{
private CPU[] 对象;
private 硬盘[] 对象;
private 内存[] 对象;
private 主板 对象;
}
class 电脑{
private 主机 对象;
private 显示器 对象;
private 键盘 对象;
private 鼠标 对象;
} 这样的设计思路在Java中就被称为合成设计模式。