Hello,
 
###  I created two classes "A" and "B". "A" is the superclass of "B".
 
setClass("A", representation(s1="numeric"),prototype=prototype(s1=8))
setClass("B",contains="A",representation(s2="character"),prototype=list(s2="hi"))
myA=new("A")
myB=new("B")
 
####  I created functions for "A" and "B"
 
f1=function(x,...) UseMethod("f")
f.default=function(x,...){
    print("default")
 }
 f.A=function(x,...) {
     print(paste("x...@s1=", x...@s1, sep=""))
     NextMethod()
 }
 f.B=function(x,...) {
     print(paste("x...@s2=", x...@s2, sep=""))
     NextMethod()
 }
 
#### when I do
 f1(myB)
## R gave me the result
[1] "x...@s2=hi"
[1] "default"
## but I think the result should be 
[1] "x...@s2=hi"
[1] "x...@s1=8"
[1] "default"
 
## because the the NextMethod() should go to f1.A not directly to f1.default.
could you please tell me where I got wrong understanding?
 
Yu
 

 


      
        [[alternative HTML version deleted]]

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to