[英]Why would we need void return type from methods in OOP languages?
这并不是说我昨天开始学习Java,但我突然想到,为什么我们会使用void
方法,如果我们可以返回this
呢? 这样我们可以在对象上链接方法调用并使代码更具可读性(我知道这种方法已经越来越受欢迎,但主要是使用不可变对象,让我们忘记Java Beans约定)。 我认为void
的唯一情况是静态方法。
大概你会接受一些方法需要告诉你一些东西 - 某种返回值。 我们会“返回我们想要返回的值,这似乎是人为的和迟钝的,除非我们实际上不想返回任何东西,在这种情况下我们将返回this
,除非它是一个静态方法,在这种情况下我们返回void
” 。
怎么样:
另外:认为继承; 如果我有一个虚方法Foo()
,那么返回类型必须是Foo
的声明类型:
public virtual SomeType Foo() {...}
现在假设我使用Bar : SomeType
子类SomeType
,并且有一个Bar
实例:
Bar obj = new Bar();
obj.Foo().SomeOtherMethodOnBar(); // ERROR hey, where did my Bar go!?!?!
多态性不尊重流畅的API。
作为最后的想法:当你实际上不想链接方法时,想想所有的“流行音乐”......
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.