【发布时间】:2017-05-04 14:04:21
【问题描述】:
我正在尝试构建一个可用于实例化新工作项目的类。这个想法是每个项目都将调用来自不同部门的资源,如果需要,我需要能够在 Project 对象中实施。每个 Department 都应该能够访问项目级别的属性和方法,以及能够访问各个部门属性的项目对象(即,对部门成本求和以返回总体项目成本)。
以下是我正在尝试做的一些伪代码,希望能提供有关正确方法的任何指导:
定义项目
class Project:
totalCost=0
def addDepartment(Dept):
totalCost+=name.DepartmentCost
Departments=append(Dept)
定义部门
class Department1:
def __init__(self,Name, NumStaff, AverageStaffSalary)
Name=None
NumStaff=None
AverageStaffSalary=None
DepartmentCost=AverageStaffSalary*NumStaff
Department1_SpecificParm=1
class DepartmentN:
def __init__(self,Name, NumStaff, AverageStaffSalary)
Name=None
NumStaff=None
AverageStaffSalary=None
DepartmentCost=AverageStaffSalary*NumStaff
DepartmentN_SpecificParm="A"
在其中实例化项目和嵌套部门
p1=Project("myProject")
p1.addDepartment(Department1(Name="myFirstDepartment", NumStaff=9, AverageStaffSalary=1000))
print p1.myFirstDepartment.DepartmentCost #Print 9000
p1.addDepartment(DepartmentN(Name="myNthDepartment", NumStaff=2, AverageStaffSalary=6000))
print p1.myNthDepartment.DepartmentCost #Print 12000
返回所有部门的总成本
p1.TotalCost #Print 21000
【问题讨论】:
-
这闻起来像家庭作业,太宽泛,而且您提供的代码没有意义,并且是无效的 Python(“原样”)。关注某个方面,或者在提问之前改进结构。恕我直言
-
不幸的是,Markus 没有完成作业……只是想对我需要如何构建它有一个切实的感觉。我通常使用 PHP,因为这是一个很小的任务,所以我想我会尝试使用 Python……如果有人能指出我正确的方向,我保证将来会用非伪代码回来(!)
-
您的代码没有多大意义(即使对于伪代码),但我认为这可能符合您正在寻找的内容。 Repl.it playground
-
@Olian04 - 谢谢! :-) 非常友善
-
@Bendy 好吧。您提供的 sn-p 是正确的,只是
ppl从未真正保存在部门实例中。但是p.deps[1].cost会起作用。 (注意:请记住,python 是 0 索引的,也就是访问列表中的第一个元素 =list[0])