First Example 18. (step1) add Price class

Price class is abstract and has three descendent.
First Example 18. (step2) handle _priceCode

_priceCode is used in get/setPriceCode.
Replace _priceCode with _price, object of Price.
First Example 18. (step3) move getCharge to Price

Movie.getCharge is the target of Stretagy.
This method is moved to Abstract Price class now !!!
The beginning of Stretagy pattern.
First Example 18. (step4) Polymorphism

Replace conditional with Polymorphism
It is safe way !!!
First Example 18. (step4-1) polishing getCharge
First Example 18. (step 5) move getFrequentR~~~

Another Method for Stretagy.
First Example 18. (step6)  Polymorphism
Frist Example 18. (step7) Finally

1. remove getPriceCode() in both Movie and Price
getPriceCode is no need after Polymorphism done.
2. Movie has title and price. price is handled by stretagy.
Price has getCharge and getFrequentRentPoint, that is stretagically
determined.