You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于类编写主驱动程序:创建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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 08:04:10