There are pros to this:
If the person you blocked can’t see your posts, they can intuit that you’ve blocked them. Then, they might try and find you on other social media to harass you even further, or shift targets to someone else.
If they can see your posts, they have no idea they’ve been blocked, similar to Reddit’s shadow bans. This might make them think you’re just annoyed or rarely look at your DMs, making them invest even more time to uselessly try to contact you.
Of course, I can see the other side too, that you don’t want them to know about any (new) posts you’ve made; but it isn’t as one-sided as you seem to think it is.
Well, what problems are you trying to solve by having the classes all access each other’s data members? Why is that necessary?