Привет, я воспитываю себя в принципах. Я хотел бы знать, является ли это правильным примером определения Cardellis parametric polymorphism. Пожалуйста, просветите меня.
Пример приведен в синтаксисе на основе скрипта cfml.Является ли это примером параметрического полиморфизма?
<cfscript>
Parent = createobject("component","webapp.model.Parent").init();
Child = createobject("component","webapp.model.Child").init();
GrandChild = createobject("component","webapp.model.GrandChild").init();
Test = createobject("component","webapp.model.DealWithObject");
dump(Test.getNumberOfParents(Parent));
dump(Test.getNumberOfParents(Child));
dump(Test.getNumberOfParents(GrandChild));
</cfscript>
<cfcomponent>
<cfscript>
// should deal with an infinte number of abstract data types (because of common structure)
public numeric function getNumberOfParents(component arg){
return -1 + arraylen(structfindkey(getmetadata(arguments.arg),"extends","all"));
}
</cfscript>
</cfcomponent>
Был ли этот код найден на Daily WTF? – Will