我只是在四处寻找关于封装的知识,发现我们无法打印出已封装的值,我们必须定义一个单独的方法来打印出该值,但是在我的代码中,我尝试打印出一个属性的类,它起作用了,所以封装有错误吗?
代码:
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)
提前感谢:)
class xyz:
pass
x = xyz()
x.y=10
print(x.y) #This will print 10
[编写此行time1.hours = 55
时,实际上是在对象hours
中创建了一个名为time1
的变量,它与该类中定义的变量__hours
不同。