国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

[LintCode] Shape Factory

zebrayoung / 1095人閱讀

摘要:這道題考了,具體概念如下除此之外,還需要注意正則表達(dá)式的寫法。

Problem

Factory is design pattern in common usage. Implement a ShapeFactory that can generate correct shape.

Example
ShapeFactory sf = new ShapeFactory();
Shape shape = sf.getShape("Square");
shape.draw();
 ----
|    |
|    |
 ----

shape = sf.getShape("Triangle");
shape.draw();
   /
  /  
 /____

shape = sf.getShape("Rectangle");
shape.draw();
  ----
 |    |
  ----
Note

這道題考了interface & implementation & override,具體概念如下:

Interface: A Java interface is a bit like a class, except that it can only contain method signatures and fields, which is saying that it cannot contain any implementation of the methods. You can use interface to achieve polymorphism.

Implementation: To declare a class that implements an interface, you have to include an implements clause in the class definition. Your class can implement more than one interface.

Overriding: If subclass provides the specific/close implementation of the method that has been provided by one of its parent class, it is known as method overriding.

除此之外,還需要注意正則表達(dá)式的寫法。

Solution
interface Shape {
    void draw();
}

class Rectangle implements Shape {
    @Override
    public void draw() {
        System.out.println(" ----"); 
        System.out.println("|    |");
        System.out.println(" ----");    
    }
}

class Square implements Shape {
    @Override
    public void draw() {
        System.out.println(" ----"); 
        System.out.println("|    |");
        System.out.println("|    |");
        System.out.println(" ----");
    }
}

class Triangle implements Shape {
    @Override
    public void draw() {
        System.out.println("  /"); 
        System.out.println(" /  ");
        System.out.println("/____");
    }
}

public class ShapeFactory {
    public Shape getShape(String shapeType) {
        if (shapeType.equalsIgnoreCase("Rectangle")) return new Rectangle();
        else if (shapeType.equalsIgnoreCase("Square")) return new Square();
        else if (shapeType.equalsIgnoreCase("Triangle")) return new Triangle();
        return null;
    }
}

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/65803.html

相關(guān)文章

  • [LintCode] Toy Factory

    摘要:系統(tǒng)設(shè)計(jì)基礎(chǔ)題,用和繼承,然后在里按照生成需要的類就可以了。 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 = ...

    BlackHole1 評論0 收藏0
  • 設(shè)計(jì)模式:工廠三姐妹一網(wǎng)打盡

    摘要:假設(shè)需要?jiǎng)?chuàng)建一個(gè)矩形,我們可以這樣做需要一個(gè)圓形也簡單實(shí)際上,我們通常是在界面上,一般是工具欄上,放置兩個(gè)按鈕,讓用戶選擇哪個(gè)按鈕,然后創(chuàng)建此形狀。 作為創(chuàng)建型設(shè)計(jì)模式,帶有工廠名字的設(shè)計(jì)模式共有三個(gè),分別是 Simple Factory Factory Method Abstract Factory 其中的 Simple Factory并不是GoF一書中的模式,但是它是最基礎(chǔ)最常...

    diabloneo 評論0 收藏0
  • Design Pattern - Factory Pattern(譯)

    摘要:原文鏈接譯者個(gè)人翻譯,水平有限,如有錯(cuò)誤歡迎指出,謝謝設(shè)計(jì)模式工廠模式工廠模式是中最常用的設(shè)計(jì)模式之一。這種類型的設(shè)計(jì)模式屬于創(chuàng)建型模式下,創(chuàng)建一個(gè)對象最好的方式之一。調(diào)用圓的方法獲得矩形的一個(gè)對象并調(diào)用它的方法。 原文鏈接譯者:smallclover個(gè)人翻譯,水平有限,如有錯(cuò)誤歡迎指出,謝謝! 設(shè)計(jì)模式-工廠模式 工廠模式是Java中最常用的設(shè)計(jì)模式之一。這種類型的設(shè)計(jì)模式屬于創(chuàng)建型...

    zhangwang 評論0 收藏0
  • Design Pattern - Abstract Factory Pattern(譯)

    摘要:原文鏈接譯者個(gè)人翻譯,水平有限,如有錯(cuò)誤歡迎指出,謝謝設(shè)計(jì)模式抽象工廠模式抽象工廠的核心是一個(gè)超級工廠,而這個(gè)工廠能創(chuàng)建其他的工廠。在抽象工廠模式中,一個(gè)接口負(fù)責(zé)創(chuàng)建抽象與一個(gè)工廠相關(guān)的對象,不需要顯示的指定它們的類。 原文鏈接譯者:smallclover個(gè)人翻譯,水平有限,如有錯(cuò)誤歡迎指出,謝謝! 設(shè)計(jì)模式-抽象工廠模式 抽象工廠的核心是一個(gè)超級工廠,而這個(gè)工廠能創(chuàng)建其他的工廠。所以...

    王笑朝 評論0 收藏0
  • 深入理解工廠模式

    摘要:工廠模式的分類簡單工廠模式,又稱靜態(tài)工廠方法模式。工廠方法模式,又稱多態(tài)性工廠模式或虛擬構(gòu)造子模式抽象工廠模式,又稱工具箱或模式。具體產(chǎn)品角色抽象工廠模式所創(chuàng)建的任何產(chǎn)品對象都是某一個(gè)具體產(chǎn)品類的實(shí)例。 Java面試通關(guān)手冊(Java學(xué)習(xí)指南,歡迎Star,會(huì)一直完善下去,歡迎建議和指導(dǎo)):https://github.com/Snailclimb/Java_Guide 歷史回顧: 深...

    zhou_you 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<