Python プログラミングのクラスでラボの課題があり、少し問題があります。私たちのインストラクターは、参照としてソース コード GeometryObject.py を提供してくれました。
class GeometricObject(object):
def __init__(self, color = "white", filled = True):
self.color = color
self.filled = filled
def getColor(self):
return self.color
def setColor(self, color):
self.color = color
def isFilled(self):
return self.filled
def setFilled(self, filled):
self.filled = filled
def __str__(self):
return "color: " + self.color + \
" and filled: " + str(self.filled)
このクラスを使用して、この情報をさまざまなオブジェクトに適用するサブクラスを作成することになっています。三角形だけでなく、円の面積と周長を計算するクラスを作成する必要があります。
ソース コードからコピー アンド ペーストする必要がある場合と、その必要がない場合を理解するのに苦労しています。これが私が作成した最初のクラスで、Circle を扱います。簡単な質問: 名前は正しいですか? クラスは GeometryObject(circle) と呼ばれるべきですか :???
import math
class GeometricObject(object):
'''Class using a Circle'''
def __init__(self, color = "white", filled = True):
self.radius = 1
self.color = color
self.filled = filled
def getColor(self):
return self.Color
def setColor(self, color):
self.color = color
def isFilled(self):
return self.filled
def setFilled(self, filled):
self.filled = filled
def getArea(self):
self.area = math.pi(self.radius)**2
return self.area
def getPerimeter(self):
r = radius
self.perimeter = 2(math.pi)(r)
return self.perimeter
def __str__(self):
return "color: " + self.color + \
" and filled: " + str(self.filled)
注: def_ str _ メソッドでは、以前はデフォルト値を 1、色: 白に設定するように指定されていましたが、Circle: radius = 3 color: red and filled: True" を出力することになっています。これ。
それはほとんどそれの要点です。これまでのところ、コーディングが正しいことを願っています!
次に、Triangle クラスに対して同じことを行う必要がありますが、似ていると確信しています。
class GeometricObject(object):
'''Class using a Triangle'''
def __init__(self, color = "white", filled = True):
self.side1 = 1
self.side2 = 1
self.side3 = 1
def getArea(self):
s = (self.side1 + self.side2 + self.side3)/2
area = math.sqrt(s(s - self.side1)(s - self.side2)(s - self.side3))
return area
def getPerimeter(self)
perimeter = self.side1 +self.side2 + self.side3
return perimeter
def __str__(self):
return "color: " + self.color + \
" and filled: " + str(self.filled)
def getColor(self):
return self.Color
def setColor(self, color):
self.color = color
def isFilled(self):
return self.filled
def setFilled(self, filled):
self.filled = filled
私の主な質問は次のとおりだと思います: +GeometricObject() のソース コードを何度もコピーペーストする必要があるのですか? +以前に指定された値とは異なる値を求めているため、string メソッドは私を混乱させます。+コード。それぞれの面積と周長の式を正しく実装したと思いますか?
前もって感謝します。どんな助けでも大歓迎です!!