したがって、多項式のスーパークラスと2次のサブクラスを持ち、を追加する演算子を追加するので、多項式オブジェクトを返すのではなく、2次オブジェクトを返します。ここでクラス階層のメソッドを変更する
は、この多項式がを追加され、それは多項式オブジェクト
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))
それでは、どのように私はがそれようオペレータを追加、変更することができます多項式の代わりに二次的なオブジェクトを返しますか?
二次関数に何かを追加することは必ずしも二次関数になるとは限りません。それはより高い程度であるかもしれない、または二次的な項が相殺されるかもしれない。二次関数は、多項式クラスの特別なコンストラクタのように、サブクラスでなければならないものに似ています。 – jasonharper