Python 学生类和大学生类:属性、方法和继承

本教程将展示如何在 Python 中创建 Student 类,并使用继承创建一个名为 Undergraduate 的子类。

Student

Student 类具有以下属性和方法:

  • 属性:

    • school (学校名称)
    • number (学号)
    • gender (性别)
    • birth_date (出生日期)
    • name (姓名)
    • score (成绩)
  • 方法:

    • setName(name): 设置姓名
    • setScore(score): 设置成绩
    • show(): 打印输出所有属性

以下是 Student 类的 Python 代码:

class Student:
    def __init__(self, school, number, gender, birth_date):
        self.school = school
        self.number = number
        self.gender = gender
        self.birth_date = birth_date
        self.name = ''
        self.score = 0

    def setName(self, name):
        self.name = name

    def setScore(self, score):
        self.score = score

    def show(self):
        print('校名:', self.school)
        print('学号:', self.number)
        print('性别:', self.gender)
        print('出生日期:', self.birth_date)
        print('姓名:', self.name)
        print('成绩:', self.score)

Undergraduate

Undergraduate 类继承自 Student 类,并添加了以下属性和方法:

  • 属性:

    • department (系别)
    • major (专业)
  • 方法:

    • setDepartment(department): 设置系别
    • setMajor(major): 设置专业
    • show(): 覆盖父类的 show() 方法,打印输出所有属性,包括附加属性。

以下是 Undergraduate 类的 Python 代码:

class Undergraduate(Student):
    def __init__(self, school, number, gender, birth_date, department, major):
        super().__init__(school, number, gender, birth_date)
        self.department = department
        self.major = major

    def setDepartment(self, department):
        self.department = department

    def setMajor(self, major):
        self.major = major

    def show(self):
        super().show()
        print('系别:', self.department)
        print('专业:', self.major)

使用示例

# 创建一个大学生对象
student = Undergraduate('北京大学', '2023001', '男', '2001-01-01', '计算机科学系', '软件工程')

# 设置姓名和成绩
student.setName('张三')
student.setScore(95)

# 打印输出所有属性
student.show()

总结

本教程展示了如何使用 Python 创建 Student 类和 Undergraduate 类,并使用继承来扩展 Student 类。这体现了面向对象编程中的继承和多态性概念,并为构建更复杂的数据结构和应用程序提供了基础。

Python 学生类和大学生类:属性、方法和继承

原文地址: https://www.cveoy.top/t/topic/nVyY 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录