Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Objective: Understand Inheritance First, download the test class TestFootballPla

ID: 3678870 • Letter: O

Question

Objective: Understand Inheritance

First, download the test class TestFootballPlayer

Write a class FootballPlayer. This class should have the following (private) instance variables & methods:

String name

int gamesPlayed

int numberOfInjuries

A constructor with the following header:

public FootbalPlayer(String name, int gamesPlayed, int numberOfInjuries)

A toString() method that describes a football player using the values of the instance variables.

Make sure to include getters/setters for each instance variable.

Now, write two classes that extend FootballPlayer: OffensivePlayer and DefensivePlayer.

An OffensivePlayer should have the additional instance variables int totalYards & int numberOfTDs - with corresponding getters and setters - along with a constructor of the form:

OffensivePlayer(String name, int gamesPlayed, int numberOfInjuries, int totalYards, int numberOfTDs)

A DefensivePlayer should have the additional instance variables int numberOfInterceptions & int numberOfTackles - with corresponding getters and setters - along with a constructor of the form:

DefensivePlayer(String name, int gamesPlayed, int numberOfInjuries, int numberOfInterceptions, int numberOfTackles)

Also, create a QuarterBack as a subclass of OffensivePlayer, with the additional instance variables int interceptionsThrown & double completionPercentage, along with a constructor of the form:

Quarterback(String name, int gamesPlayed, int numberOfInjuries, int totalYards, int numberOfTDs, int interceptionsThrown, double completionPercentage)

As always, include the appropriate getters and setters for each new instance variable.

Finally, each class should have a toString method that returns a description (as a String) of the instance using the values of the instance variables.

Testing:

To test your code, move TestFootballPlayer.java to the directory where your .java files are located, then compile & run it.

Finally:

Upload your source code as a zipfile, Football.zip, to the CSE dropbox. Your zipfile should contain a total of 4 files. YOU DO NOT NEED TO RESUBMIT TestFootballPlayer.java

test class TestFootballPlayer:

Explanation / Answer

hey I couldn't send you zip file so I have to put everything here:

public class TestFootballPlayer {
    public static void main(String[] args) {
        System.out.println("Welcome to the Football Player Program ");

        // First set of tests
        System.out.print("Creating FootballPlayer...");
        FootballPlayer player1 = new FootballPlayer("Bob", 6, 8);
        System.out.println("Passed");

        System.out.print("Creating OffensivePlayer...");
        OffensivePlayer player2 = new OffensivePlayer("Sue", 128, 3, 88, 14);
        System.out.println("Passed");

        System.out.print("Creating DefensivePlayer...");
        DefensivePlayer player3 = new DefensivePlayer("Jill", 56, 2, 3, 4567);
        System.out.println("Passed");

        System.out.print("Creating QuarterBack...");
        QuarterBack player4 = new QuarterBack("Pat", 336, 13, 1300, 14, 555, 54.5);
        System.out.println("Passed");

        // Second set of tests
        System.out.println("");

        System.out.print("Changing name of player1...");
        player1.setName("Jim");
        if((player1.getName()).equals("Jim"))
            System.out.println("Passed");
        else
            System.out.println("Failed");

        System.out.print("Changing name of player2...");
        player2.setName("John");
        if((player2.getName()).equals("John"))
            System.out.println("Passed");
        else
            System.out.println("Failed");

        System.out.print("Changing name of player3...");
        player3.setName("Jack");
        if((player3.getName()).equals("Jack"))
            System.out.println("Passed");
        else
            System.out.println("Failed");

        System.out.print("Changing name of player4...");
        player4.setName("Bert");
        if((player4.getName()).equals("Bert"))
            System.out.println("Passed");
        else
            System.out.println("Failed");

        // Third set of tests
        System.out.println("");

        System.out.print("Changing games played of player1...");
        player1.setGamesPlayed(234);
        if(player1.getGamesPlayed() == 234)
            System.out.println("Passed");
        else
            System.out.println("Failed");

        System.out.print("Changing total yards of player2...");
        player2.setTotalYards(1300);
        if(player2.getTotalYards() == 1300)
            System.out.println("Passed");
        else
            System.out.println("Failed");              

        System.out.print("Changing number of tackles of player3...");
        player3.setNumberOfTackles(71);
        if(player3.getNumberOfTackles() == 71)
            System.out.println("Passed");
        else
            System.out.println("Failed");              

        System.out.print("Changing number of Interceptions thrown by player4...");
        player4.setInterceptionsThrown(29);
        if(player4.getInterceptionsThrown() == 29)
            System.out.println("Passed");
        else
            System.out.println("Failed");

        // Printing out all player information
        System.out.println(" Printing Player Information");

        System.out.println(player1.toString());
        System.out.println("");
        System.out.println(player2.toString());
        System.out.println("");
        System.out.println(player3.toString());
        System.out.println("");
        System.out.println(player4.toString());
        System.out.println("");

        System.out.println("Thank you for using this program. Goodbye.");
    }
} // end of TestFootballPlayer class
class FootballPlayer {
private String name;
private int gamesPlayed;
private int numberOfInjuries;
public FootballPlayer(String n, int gp, int noj) {
setName(name);
setGamesPlayed(gp);
setNumberOfInjuries(noj);
}
public String getName(){
      return name;
   }

   public int getGamesPlayed(){
      return gamesPlayed;
   }

   public int getNumberOfInjuries(){
      return numberOfInjuries;
   }
public void setName(String n){
      name=n;
   }

   public void setGamesPlayed(int g){
      gamesPlayed=g;
   }

   public void setNumberOfInjuries(int n){
     numberOfInjuries=n;
   }
public String toString() {
String str;
str="Player "+name+" , games played = "+Integer.toString(gamesPlayed)+" , Number of Injuries = "+Integer.toString(numberOfInjuries);
return str;
}
}
class OffensivePlayer extends FootballPlayer {
int totalYards,numberOfTDs;
public OffensivePlayer(String name, int gamesPlayed, int numberOfInjuries, int totalYards, int numberOfTDs){
setName(name);
setGamesPlayed(gamesPlayed);
setNumberOfInjuries(numberOfInjuries);
setTotalYards(totalYards);
setNumberOfTDs(numberOfTDs);
}
public int getTotalYards(){
return totalYards;
}
public int getNumberOfTDs() {
return numberOfTDs;
}
public void setTotalYards(int t){
totalYards=t;
}
public void setNumberOfTDs(int n) {
numberOfTDs=n;
}
public String toString() {
String str;
str="Player "+name+" , games played = "+Integer.toString(gamesPlayed)+" , Number of Injuries = "+Integer.toString(numberOfInjuries)+" , total yards= "+Integer.toString(totalYards)+" , number of tds= "+Integer.toString(numberOfTDS);
return str;
}
}

class DefensivePlayer extends FootballPlayer {
private int numberOfTackles,numberOfInterceptions;
public DefensivePlayer(String name, int gamesPlayed, int numberOfInjuries,int numberOfInterceptions, int numberOfTackles){
setName(name);
setGamesPlayed(gamesPlayed);
setNumberOfInjuries(numberOfInjuries);
setNumberOfInterceptions(numberOfInterceptions);
setNumberOfTackles(numberOfTackles);
}
public int getNumberOfTackles(){
return numberOfTackles;
}
public int getNumberOfInterceptions() {
return numberOfInterceptions;
}
public void setNumberOfTackles(int t){
numberOfTackles=t;
}
public void setNumberOfInterceptions(int n) {
numberOfInterceptions=n;
}
public String toString() {
String str;
str="Player "+name+" , games played = "+Integer.toString(gamesPlayed)+" , Number of Injuries = "+Integer.toString(numberOfInjuries)+" , number of tackles = "+Integer.toString(numberOfTackles)+" ,number Of Interceptions= "+Integer.toString(numberOfInterceptions);
return str;
}
}
class QuarterBack extends OffensivePlayer {

int interceptionsThrown,completionPercentage;
public Quarterback(String name, int gamesPlayed, int numberOfInjuries, int totalYards, int numberOfTDs, int interceptionsThrown, double completionPercentage)
{
setName(name);
setGamesPlayed(gamesPlayed);
setNumberOfInjuries(numberOfInjuries);
setTotalYards(totalYards);
setNumberOfTDs(numberOfTDs);
setInterceptionsThrwon(interceptionsThrown);
setCompletionPercentage(completionPercentage);
}
public void setInterceptionsThrwon(int i) {
interceptionsThrown=i;
}
public void setCompletionPercentage(int c) {
completionPercentage=c;
}
public int getInterceptionsThrwon(){
return interceptionsThrwon;
}
public int getCompletionPercentage() {
return completionPercentage;
}
public String toString() {
String str;
str="Player "+name+" , games played = "+Integer.toString(gamesPlayed)+" , Number of Injuries = "+Integer.toString(numberOfInjuries)+" , interceptions Thrown = "+Integer.toString(interceptionsThrown)+" , completion Percentage = "+Integer.toString(completionPercentage);
return str;
}
}