
OOP Intrface vs. Trieda
Mám objekt Objekt1, ktorý je inštanciou potomka triedy TStrings, tento potomk implementuje rozhranie IInterface1. Ďalej mám Objekt2 ktorý obsahuje dve overloadnuté metódy s názvom Add() jedna s parametrom typu TStrings druhá s prametrom typu IInterface1.
1.
Objekt2.Add(Item: TStrings);
2.
Objekt2.Add(Item: IInterface1);
Ktorá z týchto dvoch metód sa zavolá pri zápise?:
Objekt2.Add(Objekt1);
Neviem, ci je to tak aj v Object Pascale, ale v Jave plati pravidlo, ze sa pouzije "most specific" metoda. To nie je v tomto pripade ani jedna, takze by doslo k chybe a programator by musel pomocou pretypovania urcit, ktora sa ma volat.
jj to pretypovanie funguje aj v Delphi.