Benefits of getter/setter VS public vars

gettersetter

Is there a benifit to using:

private var _someProp:String;

public function set someProp(value:String):void
{
    _someProp = value;
}
public function get someProp():String
{
    return _someProp;
}

As opposed to just using:

public var someProp:String;

I realise using getter/setter can be useful when you need to further processing or need to be notified of when the property is changed like so:

public function set someProp(value:String):void
{
    _someProp = value;
    _somePropChanged = true;
    doSomethingElse();
}

But if you don't need this, then is there any reason to use getter/setter over just using a public var?

Thanks!!

Best Answer

Depending on your language, you should prefer getter/setter up front because you can't introduce them later (I'm looking at you, Java) if it turns out you do need them.