lintcode:形状工厂
生活随笔
收集整理的這篇文章主要介紹了
lintcode:形状工厂
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目
工廠模式是一種常見的設計模式。實現一個形狀工廠?ShapeFactory?來創建不同的形狀類。這里我們假設只有三角形,正方形和矩形三種形狀。
樣例 ShapeFactory sf = new ShapeFactory(); Shape shape = sf.getShape("Square"); shape.draw(); >> ---- >> | | >> | | >> ----shape = sf.getShape("Triangle"); shape.draw(); >> /\ >> / \ >> /____\shape = sf.getShape("Rectangle"); shape.draw(); >> ---- >> | | >> ----解題
直接draw方法
/*** Your object will be instantiated and called as such:* ShapeFactory sf = new ShapeFactory();* Shape shape = sf.getShape(shapeType);* shape.draw();*/ interface Shape {void draw(); }class Rectangle implements Shape {// Write your code herepublic void draw(){System.out.println(" ----");System.out.println("| |");System.out.println(" ----"); } }class Square implements Shape {// Write your code herepublic void draw(){System.out.println(" ----");System.out.println("| |");System.out.println("| |");System.out.println(" ----"); }}class Triangle implements Shape {// Write your code herepublic void draw(){System.out.println(" /\\");System.out.println(" / \\");System.out.println("/____\\"); } }public class ShapeFactory {/*** @param shapeType a string* @return Get object of type Shape*/public Shape getShape(String shapeType) {// Write your code hereif(shapeType.equals("Square")){return new Square();}if(shapeType.equals("Rectangle")){return new Rectangle();}if(shapeType.equals("Triangle")){return new Triangle();}return null;} }
?
總結
以上是生活随笔為你收集整理的lintcode:形状工厂的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android第二十八天
- 下一篇: 来来来,一起五句话搞定JavaScrip