python:从_init__参数中选择类
设计这两个类的最符合Python的方式是什么:python:从_init__参数中选择类,python,inheritance,instantiation,Python,Inheritance,Instantiation,设计这两个类的最符合Python的方式是什么: class Rectangle: def __init__(self,a,b): self.a = a self.b = b def area(self): return self.a*self.b class Square(Rectangle): def __init__(self,a): super().__init__(a,a) 返回一个prop
class Rectangle:
def __init__(self,a,b):
self.a = a
self.b = b
def area(self):
return self.a*self.b
class Square(Rectangle):
def __init__(self,a):
super().__init__(a,a)
返回一个propper
Square
object?即使您可以实现它,让类实例化返回您实例化的类以外的内容也不是一个好主意。相反,您也许可以使用工厂模式?例如,ShapeFactory类,其方法CreateShape将在这两个类之间进行选择,并返回矩形对象或方形对象?是的,尽管在Python中工厂本身不需要是类,但您可以使用create\u shape()
作为一个独立函数。似乎更好。好的,我会试试的,谢谢你的提示。如果你能做到的话,让类实例化返回你实例化的类以外的东西不太可能是个好主意。相反,您也许可以使用工厂模式?例如,ShapeFactory类,其方法CreateShape将在这两个类之间进行选择,并返回矩形对象或方形对象?是的,尽管在Python中工厂本身不需要是类,但您可以使用create\u shape()
作为一个独立函数。似乎更好。好的,我试试看谢谢你的提示
Rectangle(2,2)