Ano, doporuceni ja "spravne" pristupovat k OOP je nekolik a nektere si i vzajemne odporuji (statika vs. dynamika). Zase programatori SmallTalku budou rikat, ze Java neni dobra na OOP, protoze ne vsechno je v ni objekt (podle me, ale napriklad _1_ je hodnota, ale ne objekt).
SmallTalk v podstate interface nezna (sice tam nekdy prubezne pribily protokoly), takze opravdu tam nemohlo existovat doporuceni na udelani interface a potom tridy.
Ad property neni interface: nejsem si jisty, protoze property je v podstate field s automatickym getterem a setterem. G+S by sice mohli byt v definici nejakeho interfacu, ale ten field podle me dost tezko. Takze, kdyz si nekde v interfacu nadefinuji property, tak bych mel byt schopen implementovat G+S, i tak ze prakticky nebude "property" pouzivat. Napriklad nastavi 4 jine fieldy, ktere v dane implementaci zastupuji property. Pouziti v interfacu mi teda prijde podivne/matouci. To tam radsi hodim "getter" a "setter" misto jedne "property".
PS: jak jsem uvedl v nekterem z predchozich prispevku, vzdy se da najit velky projekt skoro v jakemkoliv jazyce (uvadel jsem Apple v Objective-C). To ale zdaleka neznamena, ze je to ten nejvhodnejsi jazyk pro dane projekty. Neco podobneho bych mohl rict o Lispu, ale tam neznam zadny velky projekt (ale verim, ze byt muze).

