0
所以我有一個Polynomial超類和一個二次型子類,我想修改add運算符,所以不是返回一個多項式對象,而是返回一個二次對象,我該怎麼做?在類層次結構中修改方法
下面是這個多項式添加,它返回一個多項式對象
def __add__(self, other):
newPoly = Polynomial()
for i in range(len(self.coeffs)):
newPoly.addterm(self.coeffs[i][0], self.coeffs[i][1])
newPoly.addterm(other.coeffs[i][0], other.coeffs[i][1])
return (newPoly)
,這是二次類:
class Quadratic(Polynomial):
def __init__(self, quad, lin, con):
Polynomial.__init__(self, (quad, 2), (lin, 1), (con, 0))
所以,我怎麼能修改添加操作,因此返回一個二次方對象而不是多項式?
向二次曲面添加某些東西不一定是二次曲面;它可能是更高的程度,或者二次項可能會被抵消。 Quadratic看起來更像是Polynomial類的特殊構造函數,而不是應該是子類的東西。 – jasonharper