Nella programmazione orientata agli oggetti esporre pubblicamente i campi di una classe "nudi e crudi" è sconsigliato in quanto se in futuro si volessero implementare delle verifiche sui suddetti campi (ad esempio assicurarsi che rientrino in un range e lanciare un eccezione in caso contrario) diventa più complicato. La soluzione consiste nell'incapsulare i campi che si vogliono esporre in un metodo getter ed eventualmente se si vuole permettere all'utente la modifica di un campo in un setter.
Java e C++ impongono un approccio "tradizionale" e molto verboso al problema ad esempio:
Double x = triangolo.getBase();
triangolo.setAltezza(y);