className
位于 methods
包(package)。 说明
函数 className()
生成对类的有效引用,包括包含类定义的包的名称。从类 "className"
返回的对象是引用类的明确方式,例如在调用 setMethod
时,以防存在该类的多个定义。
函数 "multipleClasses"
返回有关来自不同包的同名类的多个定义的信息。
用法
className(class, package)
multipleClasses(details = FALSE)
参数
class, package |
类的字符串名称,以及它所属的包的字符串名称(可选)。如果参数 如果没有包参数或槽,则该类的定义必须存在并将用于定义包。如果有多个定义,则会选择一个定义并打印一条警告,给出其他可能性。 |
details |
如果 如果是 |
细节
内部使用的类定义表可以维护具有相同名称但来自不同包的类的多个定义。如果遇到相同的类定义,则只保留一个类定义;这种情况最常见于在 setOldClass
调用中指定的 S3 类。对于真正的类,如果两个包碰巧独立地使用相同的名称,则通常不可避免地会出现多个类定义。
故意覆盖另一个同名包中的类定义通常是一个坏主意。虽然R尝试保留并使用这两个定义(从版本 2.14.0 开始),总是可能出现歧义。更明智的做法是定义一个扩展现有类但具有不同名称的新类。
值
对 className()
的调用返回类 "className"
中的对象。
对 multipleClasses()
的调用返回字符向量或类定义的命名列表。无论哪种情况,测试返回值的长度是否大于 0
都是检查是否存在多重定义的类。
类中的对象
类 "className"
扩展了 "character"
并具有一个槽 "package"
,也是类 "character"
。
例子
## Not run:
className("vector") # will be found, from package "methods"
className("vector", "magic") # OK, even though the class doesn't exist
className("An unknown class") # Will cause an error
## End(Not run)
相关用法
- R classesToAM 计算类定义的超类的邻接矩阵
- R callGeneric 从方法调用当前通用函数
- R cbind2 按列或行组合两个对象
- R canCoerce 可以将对象强制为某个 S4 类吗?
- R as 强制对象属于某个类
- R language-class 表示未评估语言对象的类
- R BasicClasses 基本数据类型对应的类
- R findClass 查找类定义
- R setOldClass 注册旧式 (S3) 类和继承
- R ReferenceClasses 具有按引用处理的字段的对象(OOP 样式)
- R MethodsList 方法列表对象
- R setGroupGeneric 创建函数的组通用版本
- R StructureClasses 基本结构对应的类
- R showMethods 显示指定函数或类的所有方法
- R getMethod 获取或测试方法的定义
- R slot 正式类对象中的槽
- R S4groupGeneric S4组通用函数
- R methodUtilities 用于方法和 S-Plus 兼容性的实用函数
- R getClass 获取类定义
- R evalSource 使用源文件中的函数定义,无需重新安装包
- R is 对象是来自类吗?
- R isSealedMethod 检查密封方法或类
- R GenericFunctions 管理通用函数的工具
- R dotsMethods 在方法签名中使用...
- R S3Part 包含 S3 类的 S4 类
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Class names including the corresponding package。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。