📌  相关文章
📜  教资会网络 | UGC NET CS 2018 年 12 月 – II |问题 88(1)

📅  最后修改于: 2023-12-03 15:10:16.111000             🧑  作者: Mango

介绍:UGC NET CS 2018 年 12 月 – II 编程题 88

UGC NET 是由印度政府主办的全国资格考试,旨在评估应聘者的能力和素质,从而提高招聘的质量。考试包括多个学科,其中计算机科学是其中之一。本次介绍的是2018年12月的UGC NET CS二号编程题88。

问题描述

定义一个类 Person 有两个属性:nameage。定义一个类 Employee 类继承自 Person ,并添加一个新的属性 salary。编写一个 Python 程序来实现以下操作:

  • 定义一个 Employee 对象
  • 打印 Employeenameagesalary
解题思路

本题需要实现一个简单的面向对象编程的示例。我们需要定义一个类 Person 作为基类,以及一个 Employee 类,该类继承自 Person 类,并添加一个新的属性 salary。在 Employee 类的构造函数中,我们需要调用基类的构造函数来初始化继承的属性。最后,我们需要创建一个 Employee 对象,并打印它的属性。

解题代码
class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

class Employee(Person):
    def __init__(self, name, age, salary):
        super().__init__(name, age)
        self.salary = salary

emp = Employee('Tom', 30, 5000)
print('Name:', emp.name)
print('Age:', emp.age)
print('Salary:', emp.salary)

返回值为:

Name: Tom
Age: 30
Salary: 5000

解析:

  • 首先定义了一个基类Person, 这个类有两个属性name,age,它的__init__函数初始化对象时能够获取这两个属性
  • 然后定义了一个继承自Person的派生类Employee, 这个类除了Person类的属性之外,还有一个新属性salary, 它的构造函数中通过super()方法调用基类的构造函数完成了继承属性的初始化.
  • 最后在主函数中,创建了一个Employee对象emp,并打印了这个对象的属性: name,age,salary.
总结

本题涉及到了面向对象的基本概念和继承的实现。特别地,由于python中可以使用内置函数super()方法直接调用父类的构造函数,所以可以更加轻松地完成类的继承. 实际面对开发中,继承的应用非常广泛,是一个必备的编程技巧。