当前位置:  开发笔记 > 编程语言 > 正文

何时编写静态方法与实例方法的编码是否有经验法则?

如何解决《何时编写静态方法与实例方法的编码是否有经验法则?》经验,为你挑选了2个好方法。

我正在学习Java(和OOP),虽然它可能与我现在所处的位置无关,但我想知道是否可以分享一些常见的陷阱或良好的设计实践.



1> laz..:

要记住的一件重要事情是静态方法不能被子类覆盖.在代码中引用静态方法实际上将它与该实现联系起来.使用实例方法时,可以根据实例的类型改变行为.你可以利用多态性.静态方法更适合功能性类型的操作,其中行为是一成不变的.比如base 64编码或计算校验和.



2> moffdub..:

我认为任何答案都没有达到何时选择其中一个的OO的核心.当然,在需要处理实例成员时使用实例方法,但是您可以将所有成员公开,然后编写一个静态方法,该方法将类的实例作为参数.你好ç.

您需要考虑您正在设计的对象所响应的消息.那些将永远是你的实例方法.如果你以这种方式思考你的对象,你几乎永远不会有静态方法.静态成员在某些情况下是可以的.

我们想到的值得注意的例外是Factory Method和Singleton(使用节制)模式.当你想要写一个"助手"类时要谨慎,因为从那里开始,这是程序编程的一个滑坡.

推荐阅读
Life一切安好
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有