A 3 year old should not have his diaper changed in public when it can be avoided.
At 3 they are becoming embarrassed and self aware of their body and need privacy.
So it's best to take the 3 year old boy or even 3 year old girl into the bathroom or somewhere private to change their diaper.
If you have to change the 3 year olds diaper in public try giving them privacy by covering them with a towel, blanket etc.
A 3 year old can get embarrassed when having his diaper changed.
I have a 3 year old boy who is not potty trained yet and he's in diapers full time.
I used to change his diaper in public and wherever it needed to be changed.
However a few days ago we were at Walmart and I took him into the bathroom with me to change his diaper.
I lifted him up onto the changing table and started to remove his pants to change his diaper.
He screamed out and said NO MOMMY please don't.
I could tell he was embarrassed and so I took him into a stall and did a standing diaper change instead.
So yes 3 year olds can get embarrassed about having their diapers changed in front of others.
At 3 you should take them into somewhere private such as your vehicle, toilet stall etc to change their diaper.
At home take them into the bathroom or a bedroom and give them privacy while changing their diaper.
If the 3 year old is embarrassed don't embarrass them when they don't want to do something that you can give them privacy for.
At 3 they are becoming aware of their body and giving them privacy is a good thing.