由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 问一个java design的题
相关主题
Lowest Common Ancestor in a binary tree (no parent pointer)又问几个c语言编程的题目
C++ template 指定T是某类的子类被默据了,发amazon面经
有没有讲java覆盖原理的blog或文章??Can a 10-year-Java guy answer these 2 questions promptly?
设计card deck问题,还有shuffle function,大家要搞清楚呀讨论一个OO问题
求介绍设计parking lot的文档用Java面试的大牛们
Amazon 两轮电话面经 及 design问题请教问几个最近很头痛的A家的题
Amamon onsite 面经这题到底什么意思?
C++ Q54: enum (C12)谈谈刚面的一个design题
相关话题的讨论汇总
话题: base话题: class话题: public话题: type话题: c1
进入JobHunting版参与讨论
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);
j**********r
发帖数: 3798
2
Use a factory method.
public static Base create(type);
Base.create(type)

类:

【在 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页)
进入JobHunting版参与讨论
相关主题
谈谈刚面的一个design题求介绍设计parking lot的文档
L家电面题目Amazon 两轮电话面经 及 design问题请教
一个问题:Track ChangesAmamon onsite 面经
被鄙视了, c++基础知识C++ Q54: enum (C12)
Lowest Common Ancestor in a binary tree (no parent pointer)又问几个c语言编程的题目
C++ template 指定T是某类的子类被默据了,发amazon面经
有没有讲java覆盖原理的blog或文章??Can a 10-year-Java guy answer these 2 questions promptly?
设计card deck问题,还有shuffle function,大家要搞清楚呀讨论一个OO问题
相关话题的讨论汇总
话题: base话题: class话题: public话题: type话题: c1