Break OO privacy: Difference between revisions

→‎{{header|Scala}}: Take away some boilerplate
(→‎{{header|Scala}}: Take away some boilerplate)
Line 972:
 
=={{header|Scala}}==
{{libheader|Scala}}<lang scala>class Example(private var name: String) {
override def toString = s"Hello, I am $name" + _name
private var _name: String = null
 
def this(name: String) {
this()
_name = name
}
 
override def toString = "Hello, I am " + _name
}
 
object BreakPrivacy extends App {
val foo: Examplefield = new classOf[Example].getDeclaredField("Erikname")
ffield.setAccessible(true)
for (f <- classOf[Example].getDeclaredFields
 
if f.getName == "_name"
val foo = new Example("Erik")
) {
println(field.get(foo))
f.setAccessible(true)
println(ffield.getset(foo), "Edith")
f.setprintln(foo, "Edith")
println(foo)
}
}</lang>