我有一个具有以下变量/成员的类:
First Name
Last Name
Age
Address etc..
我想为每个返回值的方法创建 getter 方法。根据类的不同,这可能会变得相当大。
是否有一种更快或更面向对象的方法可以让我仅使用一种方法来完成此操作?我能想到的唯一方法是有一个方法,该方法接受要返回的变量名称的参数;但是,该方法的类型会根据它是否返回字符串、int 等而改变。
有人有解决办法吗?
最佳答案
为什么在类之外需要这些值?如果您的代码不在 Person
中,但该代码调用 4 或 5 个 Person GetWhatever()
方法并将字符串粘合在一起,在它们之间填充逗号等,请移动该代码进入人
。做得足够多,Person
外部的代码就不需要调用您的 getter。
有些类是没有逻辑的,它们只保存值,并且它们期望外部对象完成所有工作。在 C++ 中,使用结构体可以使您的意图更加清晰。如果您坚持认为 Person
外部的代码需要任意访问 Person 的元素,那么它可能是一个结构,而不是一个类。如果您坚持认为它是一个类,请通过向其添加一些实际的业务逻辑来证明它。
关于c++ - OOP - 这应该如何完成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12480656/