当前在线人数12800
首页 - 分类讨论区 - 电脑网络 - 爪哇娇娃版 - 同主题阅读文章

此篇文章共收到打赏
0

  • 10
  • 20
  • 50
  • 100
您目前伪币余额:0
未名交友
[更多]
[更多]
问一个java design的题
[版面:爪哇娇娃][首篇作者:honeydream] , 2017年01月19日14:48:35 ,381次阅读,1次回复
来APP回复,赚取更多伪币 关注本站公众号:
[分页:1 ]
honeydream
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 1 ]

发信人: honeydream (pretty), 信区: Java
标  题: 问一个java design的题
发信站: BBS 未名空间站 (Thu Jan 19 14:48:35 2017, 美东)

假设我有个abstract class,和两个不同的子类。根据enum type,决定生成哪个子类:
public abstract class Base {
  enum type {c1, c2}

  public Base(type){
    switch case(c1)  return Child1(xxx);
           case(c2)  return Child2(xxx);   
  }
}

public class Child1 extends Base
public class Child2 extends Base

可是具体生成instance的时候应该怎么做呢?下面这个语句会报错abstract class
cannot be instantiated:
Base newInstance = new Base(c1);


--
※ 修改:·honeydream 於 Jan 19 15:00:17 2017 修改本文·[FROM: 173.]
※ 来源:·WWW 未名空间站 网址:mitbbs.com 移动:在应用商店搜索未名空间·[FROM: 173.]

 
aaaiii
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 2 ]

发信人: aaaiii (酱爆), 信区: Java
标  题: Re: 问一个java design的题
发信站: BBS 未名空间站 (Tue Jan 31 21:41:56 2017, 美东)

去看factory的pattern
做一个Factory类,然后传enum到generate()

【 在 honeydream (pretty) 的大作中提到: 】
: 假设我有个abstract class,和两个不同的子类。根据enum type,决定生成哪个子
类:
: public abstract class Base {
:   enum type {c1, c2}
:   public Base(type){
:     switch case(c1)  return Child1(xxx);
:            case(c2)  return Child2(xxx);   
:   }
: }
: public class Child1 extends Base
: public class Child2 extends Base
: ...................



--
※ 来源:·WWW 未名空间站 网址:mitbbs.com 移动:在应用商店搜索未名空间·[FROM: 98.]

[分页:1 ]
[快速返回] [ 进入爪哇娇娃讨论区] [返回顶部]
回复文章
标题:
内 容:

未名交友
将您的链接放在这儿

友情链接


 

Site Map - Contact Us - Terms and Conditions - Privacy Policy

版权所有,未名空间(mitbbs.com),since 1996