Здесь полиморфизм организован по контейнерному принципу. Аналогом могут служить generic'и. Например, для объектов print и plot, как видно, основной и единственной является функция UseMethod("имя объекта").

полиморфизм S3 классов

Она получает доступ ко всем методам контейнера print и plot. Сами контейнеры содержат методы, которые определяются в разных объектах.

полиморфизм S3 классов
Звездочка возле названия обозначает, что метод находится не в ядре ({base}), а в другом пространстве. Здесь под ядром будем понимать Global Enviroment. Для выявления соответствующего Package'а, который надо подключить. Лучше всего воспользоваться методом getAnywere("метод"):
> getAnywhere(plot.lm)
A single object matching ‘plot.lm’ was found
It was found in the following places
registered S3 method for plot from namespace stats
namespace:stats

Трудно говорить об едином стиле, но использование контейнеров типа print, plot, summary и etc. Может облегчить жизнь программера, оформляя эти функции просто:
<имя контейнера>.имя_S3_класса.
print.aeTest <- function(ae){
cat("\n Skewness=",A,"\tKurtosis=",E,"\n")
cat("\n D(A)=",D.A,"\tD(E)=",D.E,"\n")
if(abs(A)<=3*sqrt(D.A) && abs(E)<=5*sqrt(D.E))
cat("\nYour sample is normal \n")
else
cat("\n This is non-parametric sample?\n")
}

print.aeTest <- function(ae){
cat("\n Skewness=",A,"\tKurtosis=",E,"\n")
cat("\n D(A)=",D.A,"\tD(E)=",D.E,"\n")
if(abs(A)<=3*sqrt(D.A) && abs(E)<=5*sqrt(D.E))
cat("\nYour sample is normal \n")
else
cat("\n This is non-parametric sample?\n")
}

Тогда вывод объекта на печать осуществляется просто:
> obj.ae <- aeTest(x,y)
> obj.ae

Skewness= -0.1131924 Kurtosis= 2.766801

D(A)= 0.09211553 D(E)= 0.33397

Your sample is normal

В вывод добавлена проверка на нормальность по асимметрии и эксцессу. Plot позволяет получить картинку распределения (красный пунктир - выборка, синяя сплошная - нормальное распределение с параметрами выборки).

>plot(obj.al)

Если сравнить вывод методов контейнера plot до и после загрузки класса, то видно, что появился plot.al, наш метод.

полиморфизм S3 классов

полиморфизм S3 классов

В следующей заметке будет рассмотрена небезопасность S3 классов, и неоходимость их замены S4 классами.