[6 points] UML, Inheritance & Encapsulation The UML diagram…
[6 points] UML, Inheritance & Encapsulation The UML diagram specifies a small class hierarchy for a game. A student’s implementation follows. The code does not match the diagram in three places. For each, name the member and briefly state what’s wrong. ┌────────────────────────────────┐ │ GameCharacter │ ├────────────────────────────────┤ │ # health: int │ │ # name: String │ ├────────────────────────────────┤ │ + GameCharacter(String, int) │ │ + attack(): void │ │ + getName(): String │ └────────────────────────────────┘ ▲ │ ┌────────────────┐ │ Warrior │ ├────────────────┤ │ – armor: int │ ├────────────────┤ │ + Warrior(String, int, int) │ │ + attack(): void │ └────────────────┘ public class GameCharacter { private int health; public String name; public GameCharacter(String name, int health) { this.name = name; this.health = health; } public void attack() { System.out.println(name + ” attacks!”); } public String getName() { return name; } } public class Warrior extends GameCharacter { private int armor; public Warrior(String name, int health, int armor) { this.name = name; this.health = health; this.armor = armor; } } Hint : Compare access specifiers and function implementations in both.
Read Details