你好我是Stack Overflow的新手,希望你能得到我的问题:
我第一次和Jython一起工作。我的目标是将它用于ibm wsadmin-scripting,这需要jython或cython,但只有jython是我的选择。我尝试构建一个基本代码,这将是我的Classes最后会有的标准结构。
关系是1-N-N得到这个我正在为每个类使用Arraylist,它有N个属性。
当我尝试使用Arraylist时,它总是写在同一个List中,并且没有使用新创建的。希望我的代码解释了这个问题。如果有人能告诉我我的逻辑问题,我会很高兴。
class Student:
name = none
age = None
class Group:
name = None
studentList = ArrayList()
def addStudent(self,stName,stAge):
var1 = Student()
var1.name = stName
var1.age = stAge
self.studentList.add(var1)
class School:
name = None
groupList = ArrayList()
def createGroups(self):
group1 = Group()
group1.addStundent('Tim',16)
group2 = Group()
group2.addStudent('Lisa',15)
group2.addStudent('Marco',16)
for z in range(len(group2.studentList)):
studentResult = group2.studentList[z].name
Print 'Group2 - StudentNumber:' + str(z)+ '- Name:' + studentResult
SystemOut =
Group2 - StudentNumber 0- Name: Tim
Group2 - StudentNumber 1- Name: Lisa
Group2 - StudentNumber 2- Name: Marco
答案 0 :(得分:0)
这不是初始化实例字段的方式。在您的代码中,所有这些字段都是声明的类字段。您必须使用__init__
魔术词创建构造函数,如下所示:
class Group:
def __init__(self):
self.name = None
self.studentList = ArrayList()
def addStudent(self,stName,stAge):
var1 = Student()
var1.name = stName
var1.age = stAge
self.studentList.add(var1)