1. 项目
管理员是一种特殊的用户。编写一个名为 Admin 的类,让它继承你为完成练习 9-3 或练习 9-5 而编写的 User 类。
添加一个名为 privileges 的属性,用于存储一个由字符串(如"can add post"、 "can delete post"、 "can ban user"等)组成的列表。
编写一个名为 show_privileges()的方法,它显示管理员的权限。创建一个 Admin实例,并调用这个方法。
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)
privileges = ("can add post", "can delete post", "can ban user")
class Admin(User):
"""初始化子类属性"""
def __init__(self, first_name, last_name, age, profession, login_attempts):
"""继承父类属性"""
super().__init__(first_name, last_name, age, profession, login_attempts)
"""添加privileges属性"""
self.privileges = privileges
"""创建方法"""
def show_privileges(self):
print(privileges)
admin = Admin('kevin', 'hou', 30, 'EE', 1)
admin.show_privileges()
3. 执行结果
('can add post', 'can delete post', 'can ban user')