我只是想了解更多关于封装的知识,发现我们不能打印已经封装的值,我们必须定义一个单独的方法来打印出值,但是在我的代码中,我试图打印出类的一个属性,它起作用了,那么我的封装中有错误吗?
代码:
class Time:
timethytom = 'Best'
def __init__(self, hours, minutes):
self.__hours = hours
self.__minutes = minutes
def setTime(self,hour,minute):
self.__hours = hour
self.__minutes = minute
def getTime(self):
print(f'Time is {self.__hours}hr {self.__minutes}min')
def addTime(self, hour1, hour2, minute1, minute2):
print(f'{hour1+hour2} hours and {minute1+minute2} minutes')
time1 = Time(10, 20)
time1.setTime(20,5)
time1.hours = 55
time1.getTime()
print(time1.hours)(预先谢谢:)
发布于 2020-05-31 03:36:47
在Python中,可以从类外创建类中的公共变量,如下所示:
class xyz:
pass
x = xyz()
x.y=10
print(x.y) #This will print 10当您编写这一行time1.hours = 55时,实际上您已经在对象time1中创建了一个名为hours的变量,它与类中定义的变量__hours不一样。
https://stackoverflow.com/questions/62111145
复制相似问题