• lintcode:玩具工厂


    题目

    工厂模式是一种常见的设计模式。请实现一个玩具工厂 ToyFactory 用来产生不同的玩具类。可以假设只有猫和狗两种玩具。

    样例
    ToyFactory tf = ToyFactory();
    Toy toy = tf.getToy('Dog');
    toy.talk(); 
    >> Wow
    
    toy = tf.getToy('Cat');
    toy.talk();
    >> Meow
    解题
    /**
     * Your object will be instantiated and called as such:
     * ToyFactory tf = new ToyFactory();
     * Toy toy = tf.getToy(type);
     * toy.talk();
     */
    interface Toy {
        void talk();
    }
    
    class Dog implements Toy {
        // Write your code here
        public void talk(){
            System.out.println("Wow");
        }
    }
    
    class Cat implements Toy {
        // Write your code here
        public void talk(){
            System.out.println("Meow");
        }
    }
    
    public class ToyFactory {
        /**
         * @param type a string
         * @return Get object of the type
         */
        public Toy getToy(String type) {
            // Write your code here
            if(type.equals("Dog")){
                return new Dog();
            }
            if(type.equals("Cat")){
                return new Cat();
            }
            return null;
        }
    }
     
  • 相关阅读:
    Codeforces 1149 B
    Tenka1 Programmer Contest 2019 D
    BZOJ 1001 [BeiJing2006]狼抓兔子
    Codeforces 741 D
    HDU 5306 Gorgeous Sequence
    HDU 6521 Party
    Codeforces 912A/B
    Educational Codeforces Round 35 B/C/D
    Codeforces 902D/901B
    Codeforces 902B
  • 原文地址:https://www.cnblogs.com/bbbblog/p/5650716.html
Copyright © 2020-2023  润新知