用户与管理员类的继承python
时间: 2023-11-04 21:59:57 浏览: 60
在Python中,可以使用类的继承来实现用户和管理员类之间的关系。
首先,我们定义一个基本的用户类,包含姓名和年龄属性以及一个打招呼的方法:
```python
class User:
def __init__(self, name, age):
self.name = name
self.age = age
def greet(self):
print(f"Hello, my name is {self.name} and I am {self.age} years old.")
```
然后,我们可以定义一个继承自用户类的管理员类,它除了拥有用户的属性和方法外,还有一个额外的权限属性:
```python
class Admin(User):
def __init__(self, name, age, permission):
super().__init__(name, age)
self.permission = permission
def greet(self):
print(f"Hello, my name is {self.name} and I am {self.age} years old. I have {self.permission} permission.")
def delete_user(self, user):
print(f"User {user.name} has been deleted.")
```
在这个管理员类中,我们使用了`super()`函数来调用父类的构造函数,并初始化了管理员独有的权限属性。同时,我们还重写了打招呼的方法,在其中加入了管理员独有的权限信息。此外,我们还定义了一个删除用户的方法,只有管理员才有这个权限。
现在,我们可以创建一些用户和管理员对象,并测试它们的方法:
```python
user1 = User("Alice", 25)
user1.greet()
admin1 = Admin("Bob", 30, "full")
admin1.greet()
admin1.delete_user(user1)
```
输出结果为:
```
Hello, my name is Alice and I am 25 years old.
Hello, my name is Bob and I am 30 years old. I have full permission.
User Alice has been deleted.
```
可以看出,我们成功地实现了用户和管理员类之间的继承关系,并且管理员类还拥有了额外的权限和方法。
阅读全文