登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

阿弥陀佛

街树飘影未见尘 潭月潜水了无声 般若观照心空静...

 
 
 

日志

 
 
关于我

一直从事气象预报、服务建模实践应用。 注重气象物理场、实况场、地理信息、本体知识库、分布式气象内容管理系统建立。 对Barnes客观分析, 小波,计算神经网络、信任传播、贝叶斯推理、专家系统、网络本体语言有一定体会。 一直使用Java、Delphi、Prolog、SQL编程。

R语言基于S3的面向对象编程  

2016-11-04 11:20:55|  分类: R |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

R语言基于S3的面向对象编程

R(S3)面向对象编程,以泛型函数方式实现。
1. 创建对象
library(pryr)
1)通过变量创建S3对象
x <- 1
attr(x,'class') <- 'foo'
class(x)
otype(x)

2)通过structure()函数创建S3对象
 y <- structure(2, class = "foo")
3)创建一个多类型的S3对象
x <- 1
attr(x,'class')<- c("foo", "bar")

2. 创建泛型函数
teacher <- function(x) UseMethod("teacher")
teacher.lecture <- function(x) print("讲课")
teacher.correcting <- function(x) print("批改作业")
teacher.default<-function(x) print("你不是teacher")
3. 使用泛型函数
1)  间接调用
a<-'teacher'
attr(a,'class') <- 'lecture'
teacher(a)
2) 直接调用
t
eacher.lecture()

  评论这张
 
阅读(140)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018