Problem (?)
W zasadzie ktokolwiek zajmujący się Javą, a mający w swoim życiorysie romans z platformą .NET przyzna, że Java nie jest zwięzłym językiem. Już sam kod akcesorów, które trzeba tworzyć/generować za każdym razem potrafi doskonale zaciemnić nam obraz klasy. Dla przykładu znany z konkurencyjnej platformy mechanizm Properties doskonale adresuje ten problem, skracając boilerplate do minimum, jak i pozostawia programistę w pełnej kontroli:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
class Entity { public String Name {get; set;} private String surname; public String Surname { get { Console.WriteLine("Accessing Surname"); return this.surname; } set { Console.WriteLine("Setting Surname"); this.surname = value; } } public void Print(){ Console.WriteLine("My name is: {0} {1}", this.Name, this.Surname); } } |