题目描述:工厂模式是一种常见的设计模式。实现一个形状工厂 ShapeFactory 来创建不同的形状类。这里我们假设只有三角形,正方形和矩形三种形状。
样例:
考察对类的设计和类的方法的实现。
由题目要求可知,我们首先要定义一个类:Shape,这个类作为三角形,正方形和矩形的父类,然后再定义三个由Shape这个类派生出来的子类:Triangle,Rectangle,Square,这三个类都有他们各自的方法,比如题目中要求的打印出形状。最后,再定义一个ShapeFactory类,调用刚才为上面三种形状的类所定义的方法。这个没什么逻辑上的难度,直接实现就行。
代码如下:
"""
Your object will be instantiated and called as such:
sf = ShapeFactory()
shape = sf.getShape(shapeType)
shape.draw()
"""
class Shape:
def