I would like to know if there are advantages to setting an object's properties after construction as opposed to in the constructor.
I am using objects with properties which are expensive to create so it seems to me that I should set the properties after the object is created. However, when using the objects I have to question whether the property has been set when I would prefer to assume that it is set.
Specifically applying to my problem: Let's say we have a User object with a friendslist property (array of Users). If the friendslist property had to be set then each 'friend' User would have to be initialized with its own friendslist.. and this would go on forever? But, it seems as if a friendslist fits as a property of User - so do we separate friendslist from User or set friendslist optionally later?
Would appreciate any insight on the matter, thanks.