- Python编程300例:快速构建可执行高质量代码
- 李永华编著
- 120字
- 2021-03-26 23:33:16
例36 形状工厂
1.问题描述
实现一个形状工厂ShapeFactory创建不同形状,假设只有三角形、正方形和矩形3种形状。
2.问题示例
输入:
ShapeFactory sf=new ShapeFactory();
Shape shape=sf.getShape("Square");
shape.draw();
输出:
![](https://epubservercos.yuewen.com/E3EF07/19549640501519606/epubprivate/OEBPS/Images/Figure-P50_24443.jpg?sign=1739418128-4Y25cbVvpE9fsfm4qdIbCb9Xh7r0vRyP-0-a13410b943d55e8ec6b0a7f51f184828)
输入:
ShapeFactory sf=new ShapeFactory();
shape=sf.getShape("Triangle");
shape.draw();
输出:
![](https://epubservercos.yuewen.com/E3EF07/19549640501519606/epubprivate/OEBPS/Images/Figure-P50_24466.jpg?sign=1739418128-b0YrMHiBS76ufy7C5IWHUpldKGtKzxdZ-0-83f1e49fc9ac8cb9bf8ba10a5c8877c4)
输入:
ShapeFactory sf=new ShapeFactory();
shape=sf.getShape("Rectangle");
shape.draw();
输出:
![](https://epubservercos.yuewen.com/E3EF07/19549640501519606/epubprivate/OEBPS/Images/Figure-P50_24455.jpg?sign=1739418128-I3d0BqJKN0ISKV92OWdb2kq2yb2jbooE-0-51cdd0be2118cdc5da72102fac712171)
3.代码实现
![](https://epubservercos.yuewen.com/E3EF07/19549640501519606/epubprivate/OEBPS/Images/Figure-P50_24474.jpg?sign=1739418128-udRrANyS4Tper7aBCQmyuD4HYica2UB1-0-7b638501ea10a4f871325efcff03e1b2)
4.运行结果
输入:type=Triangle
输出:
![](https://epubservercos.yuewen.com/E3EF07/19549640501519606/epubprivate/OEBPS/Images/Figure-P51_24497.jpg?sign=1739418128-K66STTTWia7n6HqtN4JHcyh0vuSuZZQx-0-05ff9b3d3c23c34b6ee28441bb9932b2)
输入:type=Rectangle
输出:
![](https://epubservercos.yuewen.com/E3EF07/19549640501519606/epubprivate/OEBPS/Images/Figure-P51_24498.jpg?sign=1739418128-ZRjg8OSG6ta9D7z3xy6AEODoEMlFMsB5-0-8a66d1fc4534cee9afe92614ec15d9e1)
输入:type=Square
输出:
![](https://epubservercos.yuewen.com/E3EF07/19549640501519606/epubprivate/OEBPS/Images/Figure-P51_24499.jpg?sign=1739418128-u4NmgIScx8CzBH6Q2hAEC2fECs3MBSje-0-29b9be129af2fac6ff9fd7256d210f0c)