在面向对象编程中,子类继承了基类的属性和方法。要在基类对象上调用子类方法,可以使用以下方法:
class BaseClass:
def base_method(self):
print("This is a base class method.")
class SubClass(BaseClass):
def sub_method(self):
print("This is a subclass method.")
base_obj = BaseClass()
sub_obj = SubClass()
# 调用基类方法
base_obj.base_method()
# 调用子类方法
sub_obj.sub_method()
class BaseClass:
def polymorphic_method(self):
print("This is a base class method.")
class SubClass(BaseClass):
def polymorphic_method(self):
print("This is a subclass method.")
base_obj = BaseClass()
sub_obj = SubClass()
# 调用基类方法
base_obj.polymorphic_method()
# 调用子类方法
sub_obj.polymorphic_method()
class BaseClass:
def base_method(self):
print("This is a base class method.")
class SubClass(BaseClass):
def sub_method(self):
print("This is a subclass method.")
base_obj = BaseClass()
sub_obj = SubClass()
# 将基类对象转换为子类对象
base_obj.__class__ = SubClass
# 调用子类方法
base_obj.sub_method()
需要注意的是,这种方法可能会导致代码的可读性和可维护性降低,因此应该谨慎使用。
领取专属 10元无门槛券
手把手带您无忧上云