Answered step by step
Verified Expert Solution
Question
1 Approved Answer
Say you have a Player class with a pair of subclasses: Warrior and Mage. You want to extend this class hierarchy to incorporate levels, so
Say you have a Player class with a pair of subclasses: Warrior and Mage. You want to extend this class hierarchy to incorporate levels, so you plan to create Beginner, Intermediate and Pro subclasses. However, since you already have two subclasses, youll need to create six class combinations such as BeginnerWarrior, ProMage and so on
Adding new Player types and levels to the hierarchy will grow it exponentially. For example, to add a Knight player youd need to introduce three subclasses, one for each level. And after that, adding a new level would require creating more subclasses, one for each player type. The further we go the worse it becomes.
Using OO design principles and design patterns we learnt so far, solve the problem of class explosion.
Specifically, complete the answers to the following questions:
mark Which OO design principle that needs to be applied to solve the problem. Hint: Select among Inheritance, Polymorphism, Composition, Overriding, Overloading
mark Identify the most relevant design pattern that can be used to solve the problem.
marks Draw the class diagram that may be used as a design of your solution. For each class provide class name, and any relevant properties and methods that may be necessary to solve the problem. Clearly identify relationships between them, and if necessary, provide multiplicities of the identified relationships if applicable.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started