面向对象定义一个结构体类型,可输入多个学生的学号、姓名、三门科目成绩
时间: 2024-10-13 15:18:44 浏览: 37
在面向对象编程中,如果你想要定义一个数据结构来表示学生的信息,你可以创建一个名为"Student"的类。这个类通常包含私有变量(如`_id`, `_name`, 和 `_grades`)来存储学号、姓名和三门科目的成绩。下面是一个简单的Python示例:
```python
class Student:
def __init__(self, id, name):
self._id = id
self._name = name
self._grades = [0] * 3 # 假设每门课满分100分
@property
def id(self):
return self._id
@property
def name(self):
return self._name
@property
def grades(self):
return self._grades
def set_grade(self, subject_index, grade):
if 0 <= subject_index < 3:
self._grades[subject_index] = grade
else:
print("Subject index out of range.")
# 使用示例
student1 = Student(1001, "张三")
student1.set_grade(0, 90) # 设置数学成绩
student1.set_grade(2, 85) # 设置英语成绩
```
在这个例子中,我们定义了`__init__`方法初始化学生信息,`set_grade`方法用于设置成绩,同时通过getter方法提供访问学号、姓名和成绩的途径。每个学生都有他们自己的独立成绩列表,实现了数据的封装。
阅读全文