python编写一个Person类,其中包含一个私有变量age和getter和setter方法。setter方法应确保age在0到120之间,如果不在这个范围内,则将age设置为0或120。请给出使用示例。
时间: 2024-05-14 09:15:06 浏览: 68
以下是Person类的Python代码示例:
```python
class Person:
def __init__(self, age):
self.__age = age
def get_age(self):
return self.__age
def set_age(self, age):
if age < 0:
self.__age = 0
elif age > 120:
self.__age = 120
else:
self.__age = age
```
使用示例:
```python
person = Person(25)
print(person.get_age()) # 输出 25
person.set_age(130)
print(person.get_age()) # 输出 120
person.set_age(-10)
print(person.get_age()) # 输出 0
```
相关问题
创建父类Person类,包括name,age成员变量;setter和getter方法;定义printPerson打印人的信息
好的,这是一个关于面向对象编程的问题,下面是代码实现:
```python
class Person:
def __init__(self, name, age):
self.__name = name
self.__age = age
def set_name(self, name):
self.__name = name
def set_age(self, age):
self.__age = age
def get_name(self):
return self.__name
def get_age(self):
return self.__age
def printPerson(self):
print("Name:", self.__name)
print("Age:", self.__age)
```
这里我们定义了一个名为 `Person` 的类,拥有两个私有成员变量 `__name` 和 `__age`,以及对它们的封装方法。
同时,我们定义了一个 `printPerson` 方法,用于打印人的姓名和年龄信息。
创建子类Student继承Person父类,新增className成员变量,变量的封装setter和getter,定义printStudent方法打印学生信息
好的,这是一个关于面向对象编程的问题,下面是代码实现:
```python
class Student(Person):
def __init__(self, name, age, className):
super().__init__(name, age)
self.__className = className
def set_className(self, className):
self.__className = className
def get_className(self):
return self.__className
def printStudent(self):
print("Name:", self.get_name())
print("Age:", self.get_age())
print("Class Name:", self.__className)
```
这里我们定义了一个 `Student` 类,继承了 `Person` 类。同时,我们新增了一个私有成员变量 `__className`,以及对它的封装方法。
我们还定义了一个 `printStudent` 方法,用于打印学生的姓名、年龄和班级信息。在这个方法中,我们通过 `get_name` 和 `get_age` 方法获取父类的 `name` 和 `age` 成员变量的值,然后再打印出班级信息。
阅读全文