美文网首页
4-8 私有属性和数据封装

4-8 私有属性和数据封装

作者: 正在努力ing | 来源:发表于2018-08-26 15:49 被阅读0次

    java中的 private 的私有属性,Python用"__变量名" 的方式,这样实例就无法访问到这个属性了

    class Date:
        def __init__(self,year,month,day):
            self.year = year
            self.month = month
            self.day = day
    
        def __str__(self):
            return "{year}/{month}/{day}".format(year=self.year, month=self.month, day=self.day)
        
    class User:
        def __init__(self,birth):
            self.__birth = birth
            
        def get_age(self):
            return 2018-self.__birth.year
        
    user = User(Date(1995,12,2))
    print(user.get_age())
    print(user._User__birth)
    
    23
    1995/12/2
    

    其实Python把私有变量__birth变成了 _classname__birth变量

    相关文章

      网友评论

          本文标题:4-8 私有属性和数据封装

          本文链接:https://www.haomeiwen.com/subject/xvyoiftx.html