It can be hard for me to guess your intention. On just one hand you're stating that both equally a and b are public (no primary underscore in their names) so I need to theoretically be allowed to access/mutate (get/established) both equally. But Then you definately specify an explicit mutator https://smartworldeveloper.in/