gpt4 book ai didi

oop - R 和面向对象编程

转载 作者:行者123 更新时间:2023-12-03 05:14:41 24 4
gpt4 key购买 nike

在 R 中,以某种方式进行面向对象编程是非常可能的。但是,与 Python 等不同,有很多方法可以实现面向对象:

我的问题是:

R 中这些面向对象编程方式的主要区别是什么?

理想情况下,这里的答案将为尝试确定哪种面向对象编程方法最适合他们的需求的 R 程序员提供引用。

因此,我要求提供详细信息,以客观的方式呈现,基于经验,并以事实和引用为依据。阐明这些方法如何映射到标准面向对象实践的奖励积分。

最佳答案

S3 类

  • 不是真正的对象,更多的是命名约定
  • 基于 .语法:例如对于打印,print调用print.lm print.anova等。如果没有找到,print.default

中四类(class)

引用类(class)

原型(prototype)

  • ggplot2 最初是用 proto 编写的,但最终将使用 S3 重写。
  • 简洁的概念(原型(prototype),而不是类),但在实践中似乎很棘手
  • 下一个版本的 ggplot2 似乎正在远离它
  • Description of the concept and implementation

R6 等级

  • By-reference
  • 不依赖于 S4 类
  • "Creating R6 类与引用类类似,只是不需要将字段和方法分开,并且不能指定字段的类型。"

关于oop - R 和面向对象编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9521651/

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