擅长:python、mysql、java
<p>这取决于每门课的目的,你所使用的语言,你试图达到的目标,你试图解决的具体问题,以及无数其他因素——每个问题和每个程序都是不同的。你知道吗</p>
<p>我建议围绕面向对象设计的坚实原则做一些研究,这些原则更像是指导原则而不是规则,但是理解它们并能够将它们应用于实际问题可能会帮助您实现“好”的类设计</p>
<p>没有“最佳”方法,因为解决问题没有普遍的正确或错误的方法,当你考虑到其他现实世界中可能遇到的问题时,完美的解决方案并不总是可行或可取的。你知道吗</p>
<p>你想问自己的问题可以是</p>
<ul>
<li><p>我的程序实际上做什么?通常,当您开始思考程序的工作方式时,最有用的类就会出现。例如,您的movable Box类最终可能做得很少,以至于更容易将其表示为一个简单的结构,但是您可能会发现BoxMover类有一个用途,它充满了“move”逻辑,并且知道如何移动Box。</p></li>
<li><p>我的程序中的不同实体是如何工作的?你没有提到很多关于你的类的细节,所以只有你知道它们是否做了不同的事情,但是如果你最终得到了几十个几乎相同的类(特别是在差异仅限于数据的情况下),那么你可能做得太过分了。</p></li>
<li><p>我到底想怎么处理这些课程?考虑接口很重要;OO设计的重点更多地是类的使用方式,而不是类存储的数据。(例如,与普遍的看法相反,正方形可能与矩形完全没有共同点)。同样,一个类的接口只有一行get set函数,这可能不会让您的生活变得更轻松,也不会让您更接近于找到一个好的解决方案。</p></li>
</ul>