Python中如何在子类中修改父类中的变量

在Python中,子类可以继承父类的属性和方法,但是如果需要在子类中修改父类中的变量,可以通过重写父类中的方法来实现。

类图示例

Parent - age:int +__init__(age:int) +get_age() : int +set_age(age:int) : void Child - school:str +__init__(age:int, school:str) +get_school() : str +set_school(school:str) : void +set_age(age:int) : void

状态图示例

Parent Child

代码示例

class Parent:
    def __init__(self, age):
        self.age = age

    def get_age(self):
        return self.age

    def set_age(self, age):
        self.age = age


class Child(Parent):
    def __init__(self, age, school):
        super().__init__(age)
        self.school = school

    def get_school(self):
        return self.school

    def set_school(self, school):
        self.school = school

    def set_age(self, age):
        self.age = age + 5

# 实例化子类
child = Child(10, "ABC School")

# 输出初始年龄和学校
print(f"初始年龄为:{child.get_age()}")
print(f"初始学校为:{child.get_school()}")

# 修改年龄和学校
child.set_age(15)
child.set_school("XYZ School")

# 输出修改后的年龄和学校
print(f"修改后的年龄为:{child.get_age()}")
print(f"修改后的学校为:{child.get_school()}")
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.

在上面的代码示例中,我们定义了一个父类Parent和一个子类Child,子类继承了父类的age属性,并且添加了school属性。通过重写set_age方法,我们实现了在子类中修改父类中的age变量。最后,我们实例化了子类Child,并输出了修改后的值。

通过这种方式,我们可以在子类中修改父类中的变量,实现更灵活的数据处理和逻辑控制。当需要在子类中对父类中的变量进行修改时,可以使用这种方法来实现。这样,可以更好地利用面向对象的特性,提高代码的可维护性和可扩展性。