资讯专栏INFORMATION COLUMN

[LintCode] Toy Factory

BlackHole1 / 1463人阅读

摘要:系统设计基础题,用和继承,然后在里按照生成需要的类就可以了。

Problem

Factory is a design pattern in common usage. Please implement a ToyFactory which can generate proper toy based on the given type.

Example
ToyFactory tf = ToyFactory();
Toy toy = tf.getToy("Dog");
toy.talk(); 
-->> Wow

toy = tf.getToy("Cat");
toy.talk();
-->> Meow
Note

系统设计基础题,用class Dog和class Cat继承interface Toy,然后在ToyFactory里按照String type生成需要的类就可以了。

Solution
interface Toy {
    void talk();
}

class Dog implements Toy {
    public void talk() {
        System.out.println("Wow");
    }
}

class Cat implements Toy {
    public void talk() {
        System.out.println("Meow");
    }
}

public class ToyFactory {
    public Toy getToy(String type) {
        Toy T = null;
        if (type.equals("Dog")) T = new Dog();
        else if (type.equals("Cat")) T = new Cat();
        return T;
    }
}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/65800.html

相关文章

  • [LintCode] Shape Factory

    摘要:这道题考了,具体概念如下除此之外,还需要注意正则表达式的写法。 Problem Factory is design pattern in common usage. Implement a ShapeFactory that can generate correct shape. Example ShapeFactory sf = new ShapeFactory(); Shape s...

    zebrayoung 评论0 收藏0
  • [LintCode] Order Problem

    Problem There is now an order with demand for n items, and the demand for the i-th item is order[i]. The factory has m production modes. Each production mode is shaped like [p[1],p[2],...p[n]], that i...

    maybe_009 评论0 收藏0
  • 仿照 Spring 实现简单的 IOC 和 AOP - 下篇

    摘要:在上文中,我实现了一个很简单的和容器。比如,我们所熟悉的就是在这里将切面逻辑织入相关中的。初始化的工作算是结束了,此时处于就绪状态,等待外部程序的调用。其中动态代理只能代理实现了接口的对象,而动态代理则无此限制。 1. 背景 本文承接上文,来继续说说 IOC 和 AOP 的仿写。在上文中,我实现了一个很简单的 IOC 和 AOP 容器。上文实现的 IOC 和 AOP 功能很单一,且 I...

    AlexTuan 评论0 收藏0
  • toy.js 构思中的移动端开发框架(一)

    摘要:最近看了不少关于前端方面的书籍加上之前在的基础上利用裸奔开发了一个移动端的项目在没有借助任何框架的基础下写了近行的代码这是项目初期完全没有想到的问题在把后端的数据处理搬迁到前端以后问题就开始变得极具复杂性端的前端发展已有数年目前也有不少成熟 最近看了不少关于前端mvc方面的书籍,加上之前在zepto的基础上利用iscroll裸奔开发了一个移动端的webapp项目,在没有借助任何mvc框...

    paney129 评论0 收藏0
  • HT for Web基础动画介绍

    摘要:在这个例子中,我并没有操作图元的属性值,都是在操作拓扑的属性值,所以效果的呈现有可能会有多种实现方式,关键是要懂得思考和运用,那么这个飞机的,通过直接改变图元属性来达到以上相同效果该如何实现呢感兴趣的朋友不妨尝试下。 在上一篇《基于HT for Web矢量实现3D叶轮旋转》一文中,我略微提了下HT for Web基础动画的相关用法,但是讲得不深入,今天就来和大家分享下HT for We...

    fyber 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<