有一段时间我一直在想,我希望你们能分享你对这件事的看法。大约半年前,当我编写一个由PLC控制的机器人时,我首先发现了这个问题。在结构化文本中,我使用get-functions从类中返回一个对象。这样我就可以做任何我想要的类的成员/变量(使用getter和setter)。这为我节省了很多工作,因为我不必为了从一个更深层的物体中获取某些东西而做出单独的功能。获取“嵌入”变量或对象的getter是否允许/常用?
目前我正在用Qt C++进行编程,但又遇到了这个问题。我不确定我现在是否已经完全清楚(我不是英语母语的人,也不擅长编码行话),所以我会试着用一个例子说清楚。 比方说,我有一个数组/矢量与它的班级中的多个对象。每个对象都有它自己的带有类的数组(每个类都有学生,而不是编程类),每个类都有它自己的数组和学生,他们当然有名字,学号和年龄等。
Now我想获得一个随机的学生的名字。在Qt C++中,我会这样做:
QString randomName = schoolVector.at(randomNumber)->getClassVector().at(anotherRandomNumber)->getStudentVector().at(yetAgainARandomNumber)->getName();
你可以看到我做了一些get函数来返回某个类中的对象。这样,我可以轻松地操作类中的对象或变量。 这是我问这个问题的原因:这是要走的路吗?在学校里,他们教我使用getter和setter是很重要的,这样当你不想要或者你不想让其他人操作变量时,你就不能操纵变量。但是当我使用getter在classVector中返回一个类时,我仍然可以操纵那里的任何东西。
任何人都可以告诉我常见的做法,并且如果使用for-loops找到矢量中的某个对象是正常的吗?我真的很感激!
干杯, 马亭
你可能想给这个阅读:https://stackoverflow.com/questions/32625274/public-variables-bad-practice-vs-getters-and-setters-functions – NathanOliver
感谢您发送该链接!这确实看起来很像我问的问题。所以,如果我理解正确,不是每个人都对这个问题认为一致?但是当人们使用吸气剂和吸附剂时,人们会怎么做呢? – MartijnKor
通常它看起来像你所拥有的。真的,尽管我认为你应该做的是在你的“学校”中有一个单独的'student_list',它包含所有已注册的学生,然后你可以简单地从该列表中选择一个随机的学生。 – NathanOliver