一个课程分类下有多个子课程,现在要求如下:
· 利用简单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、总结
日后的开发模式都是要经过此步骤。
java8 面向对象编程:综合案例:一对多数据映射
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 前言 最先接触编程的知识是在大学里面,大学里面学了一些基础的知识,c语言,java语言,单片机的汇编语言等;大学毕...
- scheduler定时调度系统是大多行业项目都需要的,传统的spring-job模式,个人感觉已经out了,因为存...