Your example is too simple, but your comment "// more logic added" indicates the possibility that the set property may be more complex than simply assigning a private variable.
Do not repeat the same logic in the constructor if you have already encoded the same logic in the property set. This will be unnecessary duplicate code and may be error prone when the logic needs to change, and this is a pain in the neck for the future developer who needs to support your code.
If the set property has some side effect that would be undesirable / unnecessary in the constructor, such as event notification, then you should reorganize the generic code into your own method. The constructor and set property can call this method.
You will get the answer "it depends on me" because, well, it depends. One reason for this is personal preference (often determined by past experience when something was difficult to maintain or distort). Some reason is that each situation is different, and although, of course, there are many common patterns and tasks that we implement with code, there should always be the ability to not follow the norm in order to be creative or innovative in your coding solutions for your problem. Remember that we do not program code, we program solutions using code as a tool.
source share