December 2017
Beginner to intermediate
470 pages
12h 29m
English
Now, we will take a look at the encapsulation and mutability concepts in S4. First, note that we are using the print() and not the S4print() method, because we are printing specific slots from S4_rectangle. As you can see, if we're not careful, we can still assign values directly to the internals of the object. Again, you should not do this.
Also note that if we use the method S4color() that we created before to encapsulate the access to the color attribute, we get an error telling us that the S4color<- function could not be found. That hints to us that we can create such a function, and we can:
print(S4_rectangle@a)#> [1] 2S4_rectangle@a <- 1print(S4_rectangle@a)#> [1] 1print(S4color(S4_rectangle))#> [1] "blue" ...