基于类编写主驱动程序:创建Surface对象并调用getRect()方法实现矩形输出
解决方法:编写主驱动程序并完成Surface类实现
看起来你已经有了Rectangle类的基础定义,不过Surface类的代码还不完整,我先帮你补全它的实现,再写好对应的主驱动程序来满足你的需求。
完整代码实现
1. 先确认Rectangle类的定义(如果是单独文件Rectangle.py)
class Rectangle: def __init__(self, x, y, h, w): self.x = x self.y = y self.h = h self.w = w def __str__(self): return f"(x:{self.x}, y={self.y}, width:{self.w}, height:{self.h})"
2. 补全Surface类并编写主驱动逻辑
from Rectangle import Rectangle class Surface: def __init__(self, filename, x, y, width, height): # 初始化Surface的核心属性:文件名、位置坐标、宽高 self.filename = filename self.x = x self.y = y self.width = width self.height = height def getRect(self): # 根据Surface的属性生成并返回对应的Rectangle实例 return Rectangle(self.x, self.y, self.height, self.width) # 主驱动程序入口 if __name__ == "__main__": # 创建一个Surface对象,传入自定义的参数:文件名、x坐标、y坐标、宽度、高度 game_surface = Surface("game_bg.jpg", 50, 30, 200, 180) # 调用getRect()方法获取Rectangle实例并保存到变量 surface_rect = game_surface.getRect() # 打印结果,会自动触发Rectangle的__str__方法输出格式化内容 print("Surface对应的矩形信息:", surface_rect)
代码说明
- 我补全了
Surface的构造方法,添加了width和height参数——毕竟要生成矩形,得有宽高数据才行。 getRect()方法的作用很直接:把当前Surface的位置和尺寸传递给Rectangle的构造函数,返回一个和当前Surface匹配的矩形实例。- 主驱动部分用
if __name__ == "__main__":做了隔离,这样只有直接运行这个脚本时才会执行创建对象、调用方法的逻辑,避免被其他模块导入时意外执行。
运行结果示例
执行代码后,你会看到类似这样的输出:
Surface对应的矩形信息: (x:50, y=30, width:200, height:180)
内容的提问来源于stack exchange,提问作者CuteCats
相关产品推荐
相关产品推荐

