Unit 9
public class A{
}
public class B extends A{
}
- Allows reusing the code and adding attributes
- Subclass can become a superclass as well by extending the subclass
- Super is used to call the superclass ## Overriding
- @Override to indicate that you are overriding the superclass
- Makes code more readable
- Resets the name of the superclass
Creating References using Inheritance Hierarchies
- Lower levels of hierarchy inherit upper levels of hierarchy
Polymorphism
- Multiple classes that are related by inheritance
- Object superclass contains
- equals()
- toString()
Homework
- Create a world cup superclass with properties of your choice and subclasses for five teams which inherits those properties
- Write a constructor for one of those subclasses
public class SemiFinalTeam{
String jerseyColor;
boolean semiFinals;
boolean finals;
public SemiFinalTeam(){
this.semiFinals = true;
}
public static void determineResults(SemiFinalTeam team1, SemiFinalTeam team2){
team1.SemiFinalResult();
team2.SemiFinalResult();
}
public void SemiFinalResult(){
}
public static void main(String[] args){
Argentina argentina = new Argentina();
Croatia croatia = new Croatia();
France france = new France();
Morocco morocco = new Morocco();
SemiFinalTeam.determineResults(croatia, argentina);
SemiFinalTeam.determineResults(france, morocco);
System.out.println("Argentina: " + "Jersey Color = " + argentina.jerseyColor + ", Semi Finals = " + argentina.semiFinals + ", Finals = " + argentina.finals);
System.out.println("Croatia: " + "Jersey Color = " + croatia.jerseyColor + ", Semi Finals = " + croatia.semiFinals + ", Finals = " + croatia.finals);
System.out.println("France: " + "Jersey Color = " + france.jerseyColor + ", Semi Finals = " + france.semiFinals + ", Finals = " + france.finals);
System.out.println("Morocco: " + "Jersey Color = " + morocco.jerseyColor + ", Semi Finals = " + morocco.semiFinals + ", Finals = " + morocco.finals);
}
}
public class Argentina extends SemiFinalTeam{
public Argentina(){
super();
super.jerseyColor = "Blue + White";
}
public void SemiFinalResult(){
super.finals = true;
}
}
public class Croatia extends SemiFinalTeam{
public Croatia(){
super();
super.jerseyColor = "Red + White";
}
public void SemiFinalResult(){
super.finals = false;
}
}
public class France extends SemiFinalTeam{
public France(){
super();
super.jerseyColor = "Blue + White + Red";
}
public void SemiFinalResult(){
super.finals = true;
}
}
public class Morocco extends SemiFinalTeam{
public Morocco(){
super();
super.jerseyColor = "Red + Green";
}
public void SemiFinalResult(){
super.finals = true;
}
}
SemiFinalTeam.main(null);