摘要:這道題考了,具體概念如下除此之外,還需要注意正則表達式的寫法。
Problem
Factory is design pattern in common usage. Implement a ShapeFactory that can generate correct shape.
ExampleShapeFactory 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.
除此之外,還需要注意正則表達式的寫法。
Solutioninterface 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; } }
文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://systransis.cn/yun/65803.html
摘要:系統(tǒng)設計基礎題,用和繼承,然后在里按照生成需要的類就可以了。 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 = ...
摘要:假設需要創(chuàng)建一個矩形,我們可以這樣做需要一個圓形也簡單實際上,我們通常是在界面上,一般是工具欄上,放置兩個按鈕,讓用戶選擇哪個按鈕,然后創(chuàng)建此形狀。 作為創(chuàng)建型設計模式,帶有工廠名字的設計模式共有三個,分別是 Simple Factory Factory Method Abstract Factory 其中的 Simple Factory并不是GoF一書中的模式,但是它是最基礎最常...
摘要:原文鏈接譯者個人翻譯,水平有限,如有錯誤歡迎指出,謝謝設計模式工廠模式工廠模式是中最常用的設計模式之一。這種類型的設計模式屬于創(chuàng)建型模式下,創(chuàng)建一個對象最好的方式之一。調用圓的方法獲得矩形的一個對象并調用它的方法。 原文鏈接譯者:smallclover個人翻譯,水平有限,如有錯誤歡迎指出,謝謝! 設計模式-工廠模式 工廠模式是Java中最常用的設計模式之一。這種類型的設計模式屬于創(chuàng)建型...
摘要:原文鏈接譯者個人翻譯,水平有限,如有錯誤歡迎指出,謝謝設計模式抽象工廠模式抽象工廠的核心是一個超級工廠,而這個工廠能創(chuàng)建其他的工廠。在抽象工廠模式中,一個接口負責創(chuàng)建抽象與一個工廠相關的對象,不需要顯示的指定它們的類。 原文鏈接譯者:smallclover個人翻譯,水平有限,如有錯誤歡迎指出,謝謝! 設計模式-抽象工廠模式 抽象工廠的核心是一個超級工廠,而這個工廠能創(chuàng)建其他的工廠。所以...
閱讀 5000·2021-11-25 09:43
閱讀 1226·2021-11-24 09:38
閱讀 1975·2021-09-30 09:54
閱讀 2863·2021-09-23 11:21
閱讀 2405·2021-09-10 10:51
閱讀 2426·2021-09-03 10:45
閱讀 1206·2019-08-30 15:52
閱讀 1805·2019-08-30 14:13