对象和变量之间有什么区别?

时间:2019-09-06 10:24:56

标签: r

我想知道R中变量和对象之间的区别。代码中的“ a”是提供对象还是变量?这将保存在堆还是堆栈中?

a <- 1

2 个答案:

答案 0 :(得分:5)

从数据类型的角度来看,1c(1,2,3)之间没有区别。 R中的所有内容都是一个对象。例如:

a <- 1
b <- c(1,2,3)
typeof(a)==typeof(b)
#[1] TRUE
class(a)==class(b)
#[1] TRUE

R是一种高级语言,您无法了解R实际在何时何地分配内存。

答案 1 :(得分:1)

我们可以在R中进行面向对象的编程。实际上,R中的所有对象都是对象。

对象是一种具有某些属性和作用于其属性的方法的数据结构。

Class是对象的蓝图。我们可以将类视为房屋的草图(原型)。它包含有关地板,门,窗户等的所有详细信息。基于这些描述,我们建造了房屋。

房子是对象。由于可以通过描述来制作许多房屋,因此我们可以根据类创建许多对象。一个对象也称为类的实例,创建该对象的过程称为实例化。

尽管大多数编程语言只有一个类系统,但R却有三个类系统。即S3,S4以及最近的Reference类系统。

它们具有自己的特征和特性,因此优先选择一个。下面,我们对它们进行简要介绍。

S3类本质上有点原始。它缺少正式的定义,可以通过向其添加类属性来简单地创建此类的对象。

  

创建包含必需组件的列表

     

s <-列表(姓名=“拉斐”,年龄= 21,GPA = 3.72)

     

适当地命名课程

     

班级<-“学生”

S4类是对S3类的改进。它们具有正式定义的结构,有助于使同一个类的对象看起来或多或少相似。

现在,如果您来自C#和C背景,那么您必须认为 在C#中 int a = 2#它称为变量 Student std1 = new Student();#被称为对象 但是如上所述,R中的所有内容都称为对象。