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, "\nToo 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编程:从入门到实践\venv\Scripts\python.exe "D:/python编程:从入门到实践/9-8 权限.py" can add post can delete post can ban user Process finished with exit code 0