I have an R package which currently uses S3 class system, with two different classes and several methods for generic S3 functions like plot, logL
S3
plot
logL
If you are concerned about performance, benchmark it. If you really need multiple inheritance or multiple dispatch, use S4. Otherwise use S3.