Does that mean I have to manually go through all the derived classes one by one and make the same change in all of them manually?
yup
Is there an easier way?
nope
Surely someone else must have the same experience?
yup
What am I missing here?
search "contract".
Seriously, there has been much said on this topic. I, for one am (still) on the side of the status quo. While I will agree that during exploratory (or "whiteboard") design, it would be handy to have ancestral genetics modifiable on demand (in fact, I really would like a tool that would get rid of my maternal grandfather's male pattern baldness), at the end of the day, when all things are considered, after considering the pros and cons, in the full balance of time, well... better to leave genetics alone.
sorry
bruce
p.s. Just consider the economic benefits of a certifiable M$ genius reversing the order of the parameters in a stable, occasionally used .NET library!
Alternatively, consider this. It is 8:49pm on Friday 13th, June 2013, you are the project manger of a fairly large revision of a fairly mission critical application that has absolutely no relationship to Java. You are 25% over budget and the release is scheduled for this, the last weekend possible before the financial end of year. There is a Senior Architect crucified on the wall of your office and a member of the corporate Human Resources department sitting in your visitor's chair, her face contorted in the final agonized paroxysms of death. On the floor are the shredded remains of a graduate programmer whose last words, as far as you can recall, were "Oh, I thought I'd just change the naming conventions of the library to match the javabeans standards we were taught at school". On the desk is a blood stained hammer, a coffee cup with some dregs emitting a faint odor of burnt almonds and a chainsaw with a very rusty and obviously blood stained blade.
Explain, in less than 600 words, to the nice policeman in front of you ...