import time
class Date(object):
def __init__(self, year, month, day):
self.year = year
self.month = month
self.day = day
class User:
def __init__(self, birthday):
self.__birthday = birthday # self.__birthday <==> self._User__birthday
def get_age(self):
return time.localtime().tm_year - self.__birthday.year
if __name__ == '__main__':
user = User(Date(1990, 2, 1))
print(user.__birthday) # 这里打印的结果是报错的,因为无法通过实例.私有属性去访问,子类也是无法通过实例.私有属性去访问的。
print(user._User__birthday) # 这种方法也是可以访问私有属性的
print(user.get_age()) # 若想要访问私有属性,只能通过类中的公共方法去访问私有属性,比如:self.__birthday.year,这样就是可以的。
上