Quote:это базовое число, или текущее значение, или базовое число и список того что на него влияет, или вообще чёрти пойми что.
Вот именно поэтому я и рекомендую использовать проперти. По крайней мере, можно будет просто написать goblin.force = 10 - и не париться, что при этой операции будет изменяться ещё туева хуча "подхарактеристик" персонажа. Только не стоит забывать про ехplicit-конструкторы
Quote:в частности, от этого зависит какие методы должны извне просто получать значения а какие должны быть внутренними.
Я думаю, что все методы, которые принимают хар-ки в качестве параметров, должны быть внешними.
А вообще, можно не париться и юзать распространённый подход: делать всё private - а когда по ходу дальнейшей разработки понадобится "доступ извне", сделать такой метод публичным. Обычно, человеком с опытом уже видит, что какой-то из методов нарушает инкапсуляцию - и он тогда поймёт, что сейчас менять private на public нельзя (и стоит, например, разделить метод на два - "приватную" и "публичную" части).