定义完全封装的学生类,键盘输入三个学生,与序号1,2,3有一一对应关系,输出序号与对应学生的姓名 学号,性别
时间: 2023-09-30 11:11:28 浏览: 64
以下是一个示例代码,实现了完全封装的学生类,并通过键盘输入三个学生信息,输出序号与对应学生的姓名、学号和性别:
```python
class Student:
def __init__(self, name, id, gender):
self.__name = name
self.__id = id
self.__gender = gender
def get_name(self):
return self.__name
def set_name(self, name):
self.__name = name
def get_id(self):
return self.__id
def set_id(self, id):
self.__id = id
def get_gender(self):
return self.__gender
def set_gender(self, gender):
self.__gender = gender
# 创建三个学生对象,从键盘输入信息
s1 = Student(input("请输入第1个学生的姓名:"), input("请输入第1个学生的学号:"), input("请输入第1个学生的性别:"))
s2 = Student(input("请输入第2个学生的姓名:"), input("请输入第2个学生的学号:"), input("请输入第2个学生的性别:"))
s3 = Student(input("请输入第3个学生的姓名:"), input("请输入第3个学生的学号:"), input("请输入第3个学生的性别:"))
# 输出每个学生的信息
print("1. 序号:1,姓名:{},学号:{},性别:{}".format(s1.get_name(), s1.get_id(), s1.get_gender()))
print("2. 序号:2,姓名:{},学号:{},性别:{}".format(s2.get_name(), s2.get_id(), s2.get_gender()))
print("3. 序号:3,姓名:{},学号:{},性别:{}".format(s3.get_name(), s3.get_id(), s3.get_gender()))
```
注意,在上述代码中,我们使用了类的封装特性,将每个学生的姓名、学号和性别都定义为私有属性,外部无法直接访问。为了方便外部程序访问这些属性,我们又分别定义了 `get` 和 `set` 方法,用于获取和修改属性的值。这样就使得外部程序无法直接修改学生对象的属性,提高了程序的安全性。
阅读全文