# -*- coding: UTF-8 -*-
# 作者：huanhuilong
# 标题：Python 封装
# 描述：只通过方法访问学生信息，则可以控制方法内的定制逻辑，例如记录访问日志

class Student:
    def __init__(self, no, name, age):
        self.no = no
        self.name = name
        self.age = age
        self.log = []

    def get_no(self):
        self.log.append("有人查看我的编号")
        return self.no

    def get_name(self):
        self.log.append("有人查看我的名字")
        return self.name

    def get_age(self):
        self.log.append("有人查看我的年龄")
        return self.age

    def inc_age(self):
        self.log.append("我过了一次生日")
        self.age += 1


if __name__ == '__main__':
    s = Student(0, f'somebody', 20)
    s.get_no()
    s.get_name()
    s.get_age()
    s.inc_age()
    s.get_age()
    s.inc_age()
    print(s.log)
