Aşağıdaki kod özel bir yöntem ayarlar. Peki özel ne kadar özel?Groovy'de 'özel' ne anlama geliyor?
public class Person {
private String name
}
def u = new Person(name:"Ron")
println u.name
Aşağıdaki kod özel bir yöntem ayarlar. Peki özel ne kadar özel?Groovy'de 'özel' ne anlama geliyor?
public class Person {
private String name
}
def u = new Person(name:"Ron")
println u.name
Tasarım gereği Groovy özel değiştiriciye saygı göstermelidir, ancak mevcut uygulama bunu dikkate almaz. Aşağıdaki JIRA girişlerinde daha fazla ayrıntı bulabilirsiniz:
Ben harika getters ekler çünkü biz bu erişebilirsiniz düşünüyorum groovy call private method in Java super class
de ayrıntılar da var ve tüm değişkenler için ayarlayıcılar. Bu yöntemler herkese açıktır ve bu nedenle, özel değişkenlere kapsam dışında erişilebilmeleri, bunların olmasını beklersiniz.
Özel yöntemlerde olduğu gibi, MetaClass konsepti ile her yere gidebilirsiniz.
http://stackoverflow.com/questions/3819794/how-to-define-private-getter-method-in-groovy-bean adresine bakın –
@James - deneyin, hata olmadan derler. – ripper234
Groovy özel alanlar için gette/setters üretir ve u.name Groovy gibi özel bir alana çarptıysanız, u.getName() {this.name} tarafından üretilen veya bunun için yöntemini çağırır. Yani bu davranış benim için iyi görünüyor. Her neyse Groovy mahremiyetle ilgili birçok konuya sahiptir;) – dnim