gpt4 book ai didi

ios - 一个类应该在内部处理它自己的数据吗?

转载 作者:行者123 更新时间:2023-11-28 22:02:50 24 4
gpt4 key购买 nike

我有一个 Flight 类,它目前除了保存大量包含给定商业航类详细信息的变量外什么都不做。

这些细节中的大部分只是通过构造函数传递,但其中一些需要计算或格式化。例如,我将航类到达时间格式化为字符串 "6th June",有时初始航类数据中缺少机场名称,因此我使用了一个 airportcodes 数组和 airportnames 来查找机场名称。

计算这些附加信息的方法应该位于飞行类或一系列其他模型(例如 DateProcessorAirport)中吗?

最佳答案

Chris K 正确地指出了试金石,即何时需要做出改变;您需要在多少地方进行更改。

OOP 概念鼓励解耦和 modular programming最大化代码重用。

关键是高内聚低耦合。引用这个Cohesion & Coupling

If you thing that the additional flight details that you are deriving from Flight class variables will only the need in one activity and now where else.Then its ok to have these functions in our activity.

But, if these functions may be required by other Activities or classes currently or may require in future.Then, place these functions in your Flight Class

理想情况下,最好的 OOP 是将这些从飞行类本身的飞行类变量派生细节的函数保留下来。因为,如果不是现在,您将能够重新使用代码,以后再使用。我也会建议相同。

此外,如果您使用 Flight 类的多个实例,您应该将所有访问和修改类变量的函数放在 Flight 类中,以保持每个实例的数据一致性。

如果您坚持使用 OOP 编程技术,那么维护代码会更容易,因为代码重用会更多并且没有重复代码。

面向对象编程有四大原则:

  • 数据抽象

  • 封装

  • 继承

  • 多态性

P.S : 可以引用http://en.wikipedia.org/wiki/Object-oriented_programming

关于ios - 一个类应该在内部处理它自己的数据吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24695464/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com