📜  门|门 CS 1997 |问题 9(1)

📅  最后修改于: 2023-12-03 15:28:47.758000             🧑  作者: Mango

问题描述

本题要求设计并实现一个门类,该门类至少需要具有以下属性和方法:

  • 属性: 长度(长度应为正整数)

  • 方法:

    • 构造函数:接收长度作为参数,并在对象实例化时自动初始化其宽度为0。
    • getWidth():获取门的长度。
    • setWidth(width):重新设置门的长度。

解决方案

我们可以创建一个名为Door的类来实现该门类。该类应该包含一个名为length的属性来存储门的长度,并且在门被实例化的时候应该自动将它的长度初始化为0。

class Door:
    def __init__(self, length):
        self.length = length

接下来,我们需要实现一个getWidth()方法来获取门的长度。该方法只需要返回self.length即可。

class Door:
    def __init__(self, length):
        self.length = length

    def getWidth(self):
        return self.length

最后,我们还需要实现一个setWidth()方法来重新设置门的长度。该方法应该接收一个新长度作为参数,并将其分配给self.length属性。

class Door:
    def __init__(self, length):
        self.length = length

    def getWidth(self):
        return self.length

    def setWidth(self, width):
        self.length = width

现在,我们已经成功地实现了一个门类,可以用以下代码片段进行测试。

# 创建一个 Door 对象并设置其长度为 200 厘米。
door = Door(200)

# 打印门的长度(应为 200 厘米)。
print(door.getWidth())

# 重新设置门的长度并再次输出。
door.setWidth(150)
print(door.getWidth())

以上代码应该产生以下输出:

200
150

总结

本题要求我们创建一个门类,该类需要具有属性和方法,实现这个类的关键是理解在Python类中的实例化和变量作用域的概念。