测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A24050. 下面代码中 v1 和 v2 调用了相同接口 move() ,但输出结果不同,这体现了面向对象编程的( )特性。class Vehicle: def __init__(self, brand): self._brand = brand # 私有属性用下划线表示 def set_brand(self, brand): self._brand = brand def get_brand(self): …

单选题 困难

题目描述

下面代码中 v1 和 v2 调用了相同接口 move() ,但输出结果不同,这体现了面向对象编程的(    )特性。

class Vehicle:
    def __init__(self, brand):
        self._brand = brand  # 私有属性用下划线表示

    def set_brand(self, brand):
        self._brand = brand

    def get_brand(self):
        return self._brand

    def move(self):
        print(f"{self._brand} is moving...")

class Car(Vehicle):
    def __init__(self, brand, seat_count):
        super().__init__(brand)
        self._seat_count = seat_count

    def show_info(self):
        print(f"This car is a {self.get_brand()} with {self._seat_count} seats.")

    def move(self):
        print(f"{self.get_brand()} car is driving on the road!")

class Bike(Vehicle):
    def __init__(self, brand):
        super().__init__(brand)

    def move(self):
        print(f"{self.get_brand()} bike is cycling on the path!")

def main():
    v1 = Car("Toyota", 5)
    v2 = Bike("Giant")

    v1.move()  # 输出: Toyota car is driving on the road!
    v2.move()  # 输出: Giant bike is cycling on the path!

if __name__ == "__main__":
    main()

选项(单选)

上一题 下一题