我有一个不使用任何“getter方法”编写类“分数”的代码,它打印出分数(x/y格式)。同一个类编写了一些接口,这些接口将对这些分数进行操作
我使用“getter方法”编写了另一个类似的代码,它的工作与不使用getter方法的代码相同
下面是不带getter方法的代码:
class Fraction(object):
def __init__(self,numer, denom):
self.numer = numer
self.denom = denom
def __str__(self):
return str(self.numer)+"/"+str(self.denom)
def __add__(self,other):
new_numer = (other.denom * self.numer) + (other.numer * self.denom)
new_denom = other.denom * self.numer
return Fraction(new_numer, new_denom)
def __mul__(self,other):
new_numer = other.numer * self.numer
new_denom = other.denom * self.denom
return Fraction(new_numer, new_denom)
def __sub__(self,other):
new_numer = (other.denom * self.numer) - (other.numer * self.denom)
new_denom = other.denom * self.numer
return Fraction(new_numer, new_denom)
def toFloat(self):
convert = self.numer/self.denom
return convert
下面是getter方法的代码:
class fraction(object):
def __init__(self, numer, denom):
self.numer = numer
self.denom = denom
def __str__(self):
return str(self.numer) + ' / ' + str(self.denom)
def getNumer(self): # getter method for numerator
return self.numer
def getDenom(self): # getter method for denominator
return self.denom
def __add__(self, other):
numerNew = other.getDenom() * self.getNumer() \
+ other.getNumer() * self.getDenom()
denomNew = other.getDenom() * self.getDenom()
return fraction(numerNew, denomNew)
def __sub__(self, other):
numerNew = other.getDenom() * self.getNumer() \
- other.getNumer() * self.getDenom()
denomNew = other.getDenom() * self.getDenom()
return fraction(numerNew, denomNew)
def convert(self):
return self.getNumer() / self.getDenom()
在这里,我不确定getter和setter方法有什么帮助。因为,如果我看这个例子,无论是否使用getter,这两个代码的工作方式都是相同的
请帮我理解这部分。我请求你把我当作OOP(TIA)中的新手
目前没有回答
相关问题 更多 >
编程相关推荐