擅长:python、mysql、java
<blockquote>
<p>As for (2) I have a feeling that a more common way to do this in R is to write a generic function <code>tyres()</code> and then do <code>tyres(car)</code>.</p>
</blockquote>
<p>当然。这是R中的自然方式,其优点是暴露出均匀的界面<sup>1</sup>。你知道吗</p>
<blockquote>
<p>But that doesn't seem as OO-programming to me.</p>
</blockquote>
<p>为什么不呢?OOP不是关于语法^ {CD1}},尽管这是一种常见的感知(由于C++、C语言、java和Python等语言的商业成功,它们都遵循这个通用语法)。实际上<a href="https://en.wikipedia.org/wiki/Object-oriented_programming" rel="nofollow">OOP</a>是关于数据封装和一组松散的原则,以使对象相互通信。你知道吗</p>
<p>不同的语言必然会以不同的方式处理这个问题。R6非常巧妙地模仿了面向对象的类似Java的语法,它的使用在某些场景中可能是有意义的。但是S3的语法同样面向对象,而且更像R:它的语法更容易与其他R函数组合。你知道吗</p>
<hr/>
<> 1 </SUP>旁注:目前在C++标准委员会中,在名字“统一调用语法”下引入了{{CD2>}和^ {CD3>}语法之间的等价性,这是一场激烈的争论。你知道吗</p>