Myslím, že tu nezazněl jeden veledůležitý fakt. Třídní/instanční proměnné, kam bych property zařadil (pokud nemá v době kompilace vlastní metody), nejdou přetížit. Naopak getter/setter jsou normální metody, kde je OOP přístup aplikován. Vím, že na tyto metody by to být aplikováno nemělo (nemají mít žádnou další logiku), často jsou však situace, kdy se to hodí :-) .

Někdo zmínil framework Lombok na změnu proměnné na property. Stejnou službu udělá i Spring Roo.

Mě property v Javě nechybí. Vygenerovat je umí těměř cokoliv (každé IDE a řada dalších frameworků). Co je důvodem k požadavku na jejich zavedení? Opravdu jen úspora pár řádků?

Arny

On 14.7.2011 14:16, Ondra Medek wrote:
O jakém balastu to mluvíš? Gettery a settery přece umí každé IDE
vygenerovat a psát p.speed místo p.getSpeed() mi nepřijde jako zásadní
změna. Navíc mnohem důležitější než snadnost či obtížnost psaní je
snadnost či obtížnost čtení (v literatuře se uvádí, že na jedno napsání
připadá až 20 čtení toho samého kódu). A tady se hledají argumenty pro
properties těžko.
Jj, souhlasim, hlavni je citelnost kodu. To je argument pro vsechny
flame typu Java's dead, protoze ji chybi todle nebo tamto. IMHO se v
C# da napsat vice prasacky kod (a property k tomu tez prispivaji). A
to je jeden z duvodu, proc Java jeste stale aktivne zije.

Odpovedet emailem