Understanding : In contrast to the ascending field, it is similar to the reduction method, that is, the base class, only some of the fields that the inheriting class needs to be used, down to the inheriting class itself.
Detailed :
Refactoring Pre-code:
1 usingSystem;2 usingSystem.Collections.Generic;3 usingSystem.Linq;4 usingSystem.Text;5 6 namespace_31daysrefactor7 {8 Public Abstract classTask9 {Ten protected string_resolution; One } A - Public classBugtask:task - { the - } - - Public classFeaturetask:task + { - + } A}
Post-Refactoring code:
1 usingSystem;2 usingSystem.Collections.Generic;3 usingSystem.Linq;4 usingSystem.Text;5 6 namespace_31daysrefactor7 {8 Public Abstract classTask9 {Ten protected string_resolution; One } A - Public classBugtask:task - { the Private string_resolution; - } - - Public classFeaturetask:task + { - + } A}
Reduce the _resolution field to the Inheritance class Bugtask.
6th Day of refactoring: lowering fields (Push down field)