GamerManager classları direkt olarak GamerManager classlarının metodlarını implemente eden interface'i implemente etmek yerine abstract class kulanımıyla abststract class'ı extend edebilir. Extend edilen abstract class GamerManager classlarının metodlarını iceren interface'i impelemente etmeli. Ayrıca Main class'ında Gamer kendisini extend eden classların referansını tutabildiginden olusturulan objeler FreeGamer ve PremiumGamer tipinde olmak yerine Gamer tipinde olabilir. Bu sekilde nesne yönelimli programlamadan tam anlamıyla faydalanmış oluyoruz.