Python3.0类和OOP基础,使用UML模型?

2024-05-17 00:02:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试制作一个程序,在我创建的模块中练习我的课程知识和格式化/基本数学知识。其想法是创建一个Merchandise数据类(称为Merchandise.py),并在单独的文件中创建一个名为store_merch.py的可执行程序来测试它。我知道我应该按照基本的UML图来建模,比如:

Merchandise

__item

__quantity

__cost

__init__(item,quantity,cost)

set_item(item)

set_quantity(quantity)

set_cost(cost)

get_item()

get_quantity()

get_cost()

get_inventory_value()

__str__()

{cd4>{a方法将计算

编辑:对于我在这里要问的内容,似乎有些混乱,所以我在下面重点介绍了我要了解的核心概念:(注意,我试图强调使用getter/setters)。这里有两个程序商品.py它拥有所有的getter/setter,第二个程序向用户请求输入并运行商品.py模块

对于store_merch程序,我想:

为10个锤子创建一个Merchandise实例,每个锤子的成本为14.95美元。

为6条项链创建另一个Merchandise对象,每个价值799.99美元。

运行两个对象的__str__方法。

提示用户为hammer对象输入新的数量,然后使用setter方法更改此属性。

提示用户输入项链对象的新成本,然后使用setter方法更改此属性。

再次运行__str__方法来验证更改。

同时显示每个对象的库存值。

样本输出

锤子,10美元,14.95美元

项链,6美元799.99美元

输入硬件12的新数量

输入珠宝659的新成本

锤子,12美元,14.95美元

存货价值:179.40美元

项链,6美元,659.00美元

库存价值:$3954.00

到目前为止,我的两个项目如下:

^{pr2}$

目前它只重命名hammer实例及其属性并正确提示用户,打印锤子和项链的新价格/数量,但不是我想要的方式。我的一个朋友帮我指出了一些我做错了的事情,但老实说,对于如何创建更多实例并调用以前的实例,我有点不知所措,所有这些都是在添加每个实例的属性并显示结果的同时:

1。你没有为项链创建第二个对象。您重新分配了硬件对象的属性。你没有使用输入。 这个。。。储存_商品数量(十二) 应该是。。。储存_商品数量(第2项)

2。在输入新数量的锤子时,您忘记使用int()函数。

3。启动store_merch=的线路是另一个罪魁祸首。你忘了用商品。商品就像你刚开始的时候那样。但是无论如何,您不应该创建一个名为store_merch的新实例。您应该使用store_商品对象的setter来获取数量。从那里拿走!

感谢任何帮助!第一个问题在这里,所以我希望我遵守所有的规则之前张贴!!(:


Tags: 对象实例方法storepy程序数量属性
1条回答
网友
1楼 · 发布于 2024-05-17 00:02:20

如果您在加载的SWF中工作,可以使用loaderInfo:

trace(this.loaderInfo.url);

如果没有,您可以检查外部接口(如果您是SWF,则它嵌入在HTML中)

if (ExternalInterface.available == true){
    if (ExternalInterface.call('document.location.href.toString') != null){
        trace(  ExternalInterface.call('document.location.href.toString')); 
    }
}

相关问题 更多 >