摘要:這道題考了,具體概念如下除此之外,還需要注意正則表達(dá)式的寫法。
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.
除此之外,還需要注意正則表達(dá)式的寫法。
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; } }
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/65803.html
摘要:系統(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 = ...
摘要:假設(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ǔ)最常...
摘要:原文鏈接譯者個(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)建型...
摘要:原文鏈接譯者個(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)建其他的工廠。所以...
摘要:工廠模式的分類簡單工廠模式,又稱靜態(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 歷史回顧: 深...
閱讀 4943·2021-11-25 09:43
閱讀 1191·2021-11-24 09:38
閱讀 1902·2021-09-30 09:54
閱讀 2807·2021-09-23 11:21
閱讀 2371·2021-09-10 10:51
閱讀 2375·2021-09-03 10:45
閱讀 1170·2019-08-30 15:52
閱讀 1771·2019-08-30 14:13