java8 面向对象编程:综合案例:一对多数据映射

11863677-16e59a24a07c1ad8.png
java8 面向对象编程:综合案例:一对多数据映射

一个课程分类下有多个子课程,现在要求如下:
· 利用简单Java类实现数据表的还原;
· 进行如下输出:
|- 可以输出一个子分类的信息,同时在输出的时候可以输出它所对应的分类信息;
|- 可以输出一个分类的信息以及所包含的所有子分类信息。
程序的编写一定要按照正常步骤进行。
第一步:实现基本字段
class Item {
private int iid ;
private String title ;
private String note ;
public Item(int iid,String title,String note) {
this.iid = iid ;
this.title = title ;
this.note = note ;
}
// setter、getter、无参略
public String getInfo() {
return "分类编号:" + this.iid + ",名称:" + this.title + ",简介:" + this.note ;
}
}
class Subitem {
private int sid ;
private String title ;
private String note ;
public Subitem(int sid,String title,String note) {
this.sid = sid ;
this.title = title ;
this.note= note ;
}
// setter、getter、无参略
public String getInfo() {
return "子分类编号:" + this.sid + ",名称:" + this.title + ",简介:" + this.note ;
}
}
第二步:设置关联关系
class Item {
private int iid ;
private String title ;
private String note ;
private Subitem [] subitems ;
public Item(int iid,String title,String note) {
this.iid = iid ;
this.title = title ;
this.note = note ;
}
public void setSubitems(Subitem [] subitems) {
this.subitems = subitems ;
}
public Subitem [] getSubitems() {
return this.subitems ;
}
// setter、getter、无参略
public String getInfo() {
return "分类编号:" + this.iid + ",名称:" + this.title + ",简介:" + this.note ;
}
}
class Subitem {
private int sid ;
private String title ;
private String note ;
private Item item ;
public Subitem(int sid,String title,String note) {
this.sid = sid ;
this.title = title ;
this.note= note ;
}
public void setItem(Item item) {
this.item = item ;
}
public Item getItem() {
return this.item ;
}
// setter、getter、无参略
public String getInfo() {
return "子分类编号:" + this.sid + ",名称:" + this.title + ",简介:" + this.note ;
}
}
第三步:设置并取得数据
· 先根据结构设计,而后根据结构取出。
public class TestDemo {
public static void main(String args[]) {
// 第一步:根据结构设计关系
// 1、准备出所有独立的对象,本处属于一对多
Item item = new Item(10,"编程语言","-") ;
Subitem subA = new Subitem(1001,"Java","-") ;
Subitem subB = new Subitem(1002,"Python","-") ;
Subitem subC = new Subitem(1003,"C","-") ;
// 2、设置彼此的引用关系
subA.setItem(item) ;
subB.setItem(item) ;
subC.setItem(item) ;
item.setSubitems(new Subitem[] {subA,subB,subC}) ;
// 第二步:根据表结构取出数据
System.out.println(subA.getInfo()) ;
System.out.println("\t|- " + subA.getItem().getInfo()) ;
System.out.println("\n===========================\n") ;
System.out.println(item.getInfo()) ;
for (int x = 0 ; x < item.getSubitems().length ; x ++){
System.out.println("\t|- " + item.getSubitems()[x].getInfo()) ;
}
}
}
第一个程序是一个熟练过程,重点是把引用的代码链关系搞清楚。
3、总结
日后的开发模式都是要经过此步骤。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

纯洁的明依

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值