由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Java版 - 问一个java design的题
相关主题
local变量被赋值了几次?Singleton
这玩意是啥?Most efficient Card implementation in java?
三论abstract class看了zhaoce073大水忍不住说2句
Java 5.0 is out求助,using enum in eclipse
Java5 compatibility issue话说有一个模式叫做Multiton
问个小问题关于singleton
design问题如何在TextArea里面画位图
增加点难度 java core请教GUI程序的save/load功能的实现
相关话题的讨论汇总
话题: base话题: class话题: public话题: enum话题: c1
进入Java版参与讨论
1 (共1页)
h********m
发帖数: 116
1
假设我有个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);
a****i
发帖数: 1182
2
去看factory的pattern
做一个Factory类,然后传enum到generate()

类:

【在 h********m 的大作中提到】
: 假设我有个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

1 (共1页)
进入Java版参与讨论
相关主题
请教GUI程序的save/load功能的实现Java5 compatibility issue
[分享]:一篇文章讲通一半Java问个小问题
Re: print problem, GUI guru please come indesign问题
extending generic class , but not mentioning its parameterized type?增加点难度 java core
local变量被赋值了几次?Singleton
这玩意是啥?Most efficient Card implementation in java?
三论abstract class看了zhaoce073大水忍不住说2句
Java 5.0 is out求助,using enum in eclipse
相关话题的讨论汇总
话题: base话题: class话题: public话题: enum话题: c1