• 9-8 权限


    1. 项目

    编写一个名为 Privileges 的类,它只有一个属性——privileges,其中存储了练习 9-7 所说的字符串列表。

    将方法 show_privileges()移到这个类中。在 Admin类中,将一个 Privileges 实例用作其属性。

    创建一个 Admin 实例,并使用方法show_privileges()来显示其权限。

     

    2. 代码

    class User():
        """初始化用户属性"""
        def __init__(self, first_name, last_name, age, profession, login_attempts):
            self.first_name = first_name
            self.last_name = last_name
            self.age = age
            self.profession = profession
            """添加尝试登录次数属性"""
            self.login_attempts = login_attempts
    
        def describe_user(self):
            """用户信息描述方法"""
            print("User information: " + "
    " + self.first_name.title()
                  + "." + self.last_name + "
    " + str(self.age)
                  + "
    " + self.profession + ".")
    
        def greet_user(self):
            """问候方法"""
            print("Hello, " + self.first_name.title() + "." + self.last_name
                  + ", welcome to ShangHai.
    ")
    
        def increment_login_attempts(self):
            """尝试登录次数的增量方法"""
            self.login_attempts += 1
            print(self.login_attempts)
    
        def reset_login_attempts(self):
            """重置登录次数方法"""
            self.login_attempts = 0
            print(self.login_attempts)
    
    
    class Admin(User):
        def __init__(self, first_name, last_name, age, profession, login_attempts):
            super().__init__(first_name, last_name, age, profession, login_attempts)
            self.privileges = Privileges()
    
    
    class Privileges():
        def __init__(self, privileges=("can add post", "can delete post", "can ban user")):
            self.privileges = privileges
    
        def show_privileges(self):
            print(self.privileges)
    
    
    admin = Admin('kevin', 'hou', 30, 'ee', 1)
    admin.privileges.show_privileges()
    

      

    3. 执行结果

    ('can add post', 'can delete post', 'can ban user')
    

      

  • 相关阅读:
    学习笔记9(必做)
    团队作业(四):描述设计
    改进ls的实现(课下作业)
    stat命令的实现-mysate(必做)
    反汇编测试
    学习笔记8(必做)
    初次使用git上传代码到码云
    团队作业(三):确定分工
    学习笔记7(必做)
    缓冲区溢出漏洞实验
  • 原文地址:https://www.cnblogs.com/kevin-hou1991/p/14942361.html
Copyright © 2020-2023  润新知