java 板


LINE

public class A { public void someMethod(SomeBean sb){ // 透过SomeBean将物件塞满资料丢进来... Binner b = new A.Binner(sb.getArg1, sb.getArg2, sb.getArg3, sb.getArg4); // 也可以把整个SomeBean往内部类别丢... // 这里有点忘了怎麽实体化内部类别= =|| // 有误请指正 b.doSomethingMethod(); } class Binner { private int param1; private String param2; private long param3; private boolean isLimit; // Binner 的建构子 Binner(int arg1, String arg2, long arg3, boolean arg4){ this.param1 = arg1; // ... 依此类推 } // 做某事会被呼叫的method public String doSomethingMethod(){ // todo...... return "str"; } } } // 存载资料用的Bean 物件 public class SomeBean(){ private int arg1; private String arg2; private long arg3; private boolean arg4; // 底下当然有些 getter & setter } 这样做完之後当外人呼叫你的class A.someMethod 的时候 就会看到需要带入一个 SomeBean 请在注解处&SPEC上写明哪些case各需要SomeBean内的哪些资料... 那外人应该就知道该怎麽用了! 作法百百种,乱乱写一种给你参考... 没用IDE写这段,若遇到缪误请见谅! ps. 我不懂 design pattern 若你能为我补充说明一下,那就太好了! :) ※ 引述《rokaku (昵称能用来干嘛?)》之铭言: : 最近在写一个java class供别人呼叫, : 所以外人可写一class来操作我的内部class : 其中有一个method是需要指定某内部类别的资料 : 问题就卡在既然是内部类别资料, 我就不应该将内部资料export出来 : 想到一种做法是"将要指定的资料"做成一个类别放在内部类别里供呼叫 : 可是如果外部class完全不知内部有何资料, 那这个方法就行不通 : 查了一下design pattern, 好像没有讲如何回传内部类别 : 或者说有更好的处理方法, 希望有高人可以指点一下 : 先谢谢了 --
1F:推 rokaku:那如果SomeBean的资料是runtime才能决定,那该怎麽办才好呢? 05/02 19:13
2F:→ rokaku:其实我也是卡住了才去查design pattern,也算是初学者啦~~ 05/02 19:15
内部class需要的资料可能随时不同?? 而且没有定律?? 如果真的有这麽随机的资料,在JDK5以後有支援 int... 不指定个传入参数同型别的可以用,或是阵列?? 但内部class需要什麽资料应该是由制作API的你决定的, 若是有不同的case会有需要不同的资料, 那可以拆开成不同的method做资料处理,执行业务流程时再呼叫共用的Method, 或是下一位版友回应说的封装 interface 当作传入参数, 再用不同的SomeBeanCaseA SomeBeanCaseB去实作上面的interface。 (当然SPEC也要说明什麽Case时用哪一个SomeBean传哪些资料)
3F:推 rokaku:传入资料是从socket过来的,所以仅知是ByteArray,但还是说谢 05/03 18:40
那就制定format吧... 第A码-第B码为第一栏,B-C为第二栏... 或是透过 JSON 或 XML 等资料格式传递後再解析。 ※ 编辑: GERRYccc 来自: 1.162.72.244 (05/04 00:51)







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:BuyTogether站内搜寻

TOP