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

8e07e3af6ca8?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

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、总结

日后的开发模式都是要经过此步骤。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值