1. 项目
编写一个名为 Privileges 的类,它只有一个属性——privileges,其中
存储了练习 9-7 所说的字符串列表。将方法 show_privileges()移到这个类中。在 Admin
类中,将一个 Privileges 实例用作其属性。创建一个 Admin 实例,并使用方法
show_privileges()来显示其权限。
2. 代码
class User(): # 创建User类
def __init__(self, first_name, last_name, age): # 方法(属性1,属性2,属性3)
self.first_name = first_name
self.last_name = last_name
self.age = age
def describe_user(self): # 方法
print(self.first_name, self.last_name, self.age)
def greet_user(self): # 方法
print("How beautiful name " + self.first_name + "." + self.last_name,
"
Too young, too simple " + str(self.age) + " years old.")
# 创建Admin类
class Admin(User):
# 初始化父类的属性,在初始化User特有的属性
def __init__(self, first_name, last_name, age):
super().__init__(first_name, last_name, age) # 继承父类的特性
self.privileges = Privileges() # 初始化子类的特有属性,即将Privileges实例用作Admin的属性
def show_privileges(self): # 创建方法存储字符串
self.privileges.show_privileges() #
# 创建Privileges类
class Privileges():
def __init__(self):
# 存储字符串列表
self.privileges = ["can add post", "can delete post", "can ban user"]
# 将show_privileges()方法移动到Privileges()类中
def show_privileges(self):
for privilege in self.privileges:
print(privilege)
# 创建Admin实例,使用Show_privileges()方法
admin = Admin('Kevin', 'Hou', 30)
admin.show_privileges()
3. 运行结果
D:python编程:从入门到实践venvScriptspython.exe "D:/python编程:从入门到实践/9-8 权限.py" can add post can delete post can ban user Process finished with exit code 0