Lintcode: 形状工厂
来源:互联网 发布:山顶洞人 知乎 编辑:程序博客网 时间:2024/05/12 21:05
形状工厂
工厂模式是一种常见的设计模式。实现一个形状工厂 ShapeFactory
来创建不同的形状类。这里我们假设只有三角形,正方形和矩形三种形状。
ShapeFactory sf = new ShapeFactory();Shape shape = sf.getShape("Square");shape.draw();>> ---->> | |>> | |>> ----shape = sf.getShape("Triangle");shape.draw();>> /\>> / \>> /____\shape = sf.getShape("Rectangle");shape.draw();>> ---->> | |
>> ----
** * Your object will be instantiated and called as such: * ShapeFactory* sf = new ShapeFactory(); * Shape* shape = sf->getShape(shapeType); * shape->draw(); */class Shape {public: virtual void draw() const=0;};class Rectangle: public Shape { // Write your code here public: void draw() const { printf(" ---- \n"); printf("| |\n"); printf(" ---- \n"); }};class Square: public Shape { // Write your code here public: void draw() const { printf(" ---- \n"); printf("| |\n"); printf("| |\n"); printf(" ---- \n"); }};class Triangle: public Shape { // Write your code here public: void draw() const { printf(" /\\ \n"); printf(" / \\ \n"); printf("/____\\\n"); }};class ShapeFactory {public: /** * @param shapeType a string * @return Get object of type Shape */ Shape* getShape(string& shapeType) { // Write your code here if(shapeType=="Square") return new Square(); else if(shapeType=="Triangle") return new Triangle(); else return new Rectangle(); }};
- 形状工厂-lintcode
- lintcode-->形状工厂
- Lintcode: 形状工厂
- 形状工厂
- 形状工厂
- LintCode:玩具工厂
- lintcode-->玩具工厂
- LintCode之玩具工厂
- 玩具工厂-LintCode
- D3形状(二):曲线工厂
- LintCode-玩具工厂(Java工厂模式)
- LintCode-[容易] 496. 玩具工厂
- 497.Shape Factory-形状工厂(容易题)
- C++设计模式 factory工厂模式,实现绘制几何形状
- LintCode
- lintcode--
- lintcode
- LintCode
- pg_dump实例详解
- markdown编辑器简介
- hadoop namenode的工作机制 (checkpoint过程、元数据合并一个意思)
- 3.Hibernate的HelloWorld
- Charles抓取HTTP、HTTPS的数据包
- Lintcode: 形状工厂
- 456_AlarmManager使用
- 以斐波那契数列为例——浅尝记忆化搜索
- IRF的配置
- openlayers3入门——类、方法、属性详解2
- Android singleinstance在什么情况下使用
- LightOJ-1095 Arrange the Numbers
- mysql 的体系结构
- 【java基础 10】hash算法冲突解决方法