为什么在R中创建新类?

Cha*_*lie 2 r class

我知道你可以在R中创建新的类,但为什么你想要?我想到了两个原因:

  1. 您可以使用该is.函数来测试对象是否属于特定类(对象的分类)
  2. 仅允许某些类别的条目进入对象的槽(例如,仅用于surnmane的字符串,并且仅用于person类中的邮政编码的数字).

我没有想到通过其他方式或者当它们确实有用时不能很容易地实现这些好处的情况.

我希望这不是太开放的,更具体的例子如何使用定义类将是伟大的.谢谢你的任何想法.

Spa*_*man 7

它被称为面向对象的编程.查一查,但简而言之:

  • 对象封装了行为 - 例如,类的"print"方法的行为特定于该类.然后,您可以将该方法的代码与其他代码分开.然后你只需要告诉你的用户"打印"这件东西 - 这是他们已经做过的事情 - 并且他们得到一个很好的定制印刷版本的东西,而不必使用特殊的打印功能,如"printMyThing(thing)" .

  • 对象从其父类继承行为 - 例如,glm类的'formula'方法回退到lm类的公式方法(不确定这是否为真,但仅用于说明.

简而言之,它是一件好事.