面向对象编程(OOP)是一种编程范式,它将数据及其相关的操作封装在一起。类和对象是OOP中的核心概念。以下是一些关于类与对象的核心练习题,旨在帮助您轻松掌握这两个概念。
练习题 1:定义一个类
题目要求: 定义一个名为Car的类,包含属性brand和model,以及一个方法display_info,该方法打印出汽车的品牌和型号。
解答:
class Car:
def __init__(self, brand, model):
self.brand = brand
self.model = model
def display_info(self):
print(f"Brand: {self.brand}, Model: {self.model}")
练习题 2:创建对象
题目要求: 创建一个Car类的实例,并为其设置品牌为Toyota,型号为Corolla。
解答:
my_car = Car("Toyota", "Corolla")
练习题 3:访问属性
题目要求: 访问my_car对象的brand和model属性。
解答:
print(my_car.brand) # 输出:Toyota
print(my_car.model) # 输出:Corolla
练习题 4:调用方法
题目要求: 调用my_car对象的display_info方法,打印出汽车的信息。
解答:
my_car.display_info() # 输出:Brand: Toyota, Model: Corolla
练习题 5:方法参数
题目要求: 修改Car类,使其构造函数接受一个额外的参数year,并在display_info方法中打印出汽车的年份。
解答:
class Car:
def __init__(self, brand, model, year):
self.brand = brand
self.model = model
self.year = year
def display_info(self):
print(f"Brand: {self.brand}, Model: {self.model}, Year: {self.year}")
练习题 6:继承
题目要求: 创建一个名为ElectricCar的子类,继承自Car类,并添加一个属性battery_size。
解答:
class ElectricCar(Car):
def __init__(self, brand, model, year, battery_size):
super().__init__(brand, model, year)
self.battery_size = battery_size
def display_info(self):
super().display_info()
print(f"Battery Size: {self.battery_size} kWh")
练习题 7:多态
题目要求: 创建一个名为display_all_info的方法,该方法接受一个Car或ElectricCar对象作为参数,并调用对象的display_info方法。
解答:
def display_all_info(car):
car.display_info()
# 使用ElectricCar对象
electric_car = ElectricCar("Tesla", "Model S", 2020, 75)
display_all_info(electric_car)
通过这些练习题,您可以更好地理解面向对象编程中的类与对象的概念。记住,实践是掌握编程的关键,不断练习和尝试不同的解决方案将有助于您更好地掌握这些概念。
