MST

星途 面试题库

面试题:JavaScript类getter和setter方法在继承中的应用

有一个父类`Person`,包含私有属性`_age`及对应的getter和setter方法。创建一个子类`Student`继承自`Person`,在`Student`类中新增一个私有属性`_grade`,同样为其添加getter和setter方法。同时在`Student`类的setter方法中,当设置`grade`为负数时,自动将其设为0,并调用父类`Person`中`age`的setter方法,在设置`age`时若年龄大于100,抛出错误。请写出完整代码。
11.2万 热度难度
编程语言JavaScript

知识考点

AI 面试

面试题答案

一键面试
class Person:
    def __init__(self):
        self._age = 0

    def get_age(self):
        return self._age

    def set_age(self, age):
        if age > 100:
            raise ValueError("年龄不能大于100")
        self._age = age


class Student(Person):
    def __init__(self):
        super().__init__()
        self._grade = 0

    def get_grade(self):
        return self._grade

    def set_grade(self, grade):
        if grade < 0:
            grade = 0
        self._grade = grade