Let's say that you have common functions for one set of programs, and then some different functions for different programs, but both sets have some common functions. Using the class BaseContext : ApplicationContext , you can perform common functions for both, and then implement specific set functions, inheriting from BaseContext. Basically, you get the same benefits as from "normal" polymorphism.
source share