Westonci.ca is the Q&A platform that connects you with experts who provide accurate and detailed answers. Join our platform to connect with experts ready to provide precise answers to your questions in different areas. Get immediate and reliable solutions to your questions from a community of experienced professionals on our platform.

Do not use the scanner class or any other user input request. You application should be self-contained and run without user input.

Assignment Objectives

Practice on implementing inheritance in Java

FootballPlayer will extend a new class, Person

Overriding methods

toString( ) (Links to an external site.)Links to an external site. which is a method from the Object class, will be implemented in OffensiveLine, FootballPlayer, Person and Height

Keep working with more complex classes

in the same way that FootballPlayer had a class as an attribute (Height height), OffensiveLine will have FootballPlayer as an attribute

Deliverables

A zipped Java project according to the How to submit Labs and Assignments guide.

O.O. Requirements (these items will be part of your grade)

One class, one file. Don't create multiple classes in the same .java file

Don't use static variables and methods

Encapsulation: make sure you protect your class variables and provide access to them through get and set methods

all the classes are required to have a constructor that receives all the attributes as parameters and update the attributes accordingly

Follow Horstmann's Java Language Coding GuidelinesLinks to an external site.

Organized in packages (MVC - Model - View Controller)

Contents

Person int number app Creates a Model object * String name Height * String position Height height int feet int inches int weight Model . String hometown . String highSchool .String toString( ) Creates three FootballPlayer objects Creates an OffensiveLine object using the three FootballPlayer objects Displays OffensiveLine information Displays OffensiveLine average weight . String toString() extends FootballPlayer * String position . String toString() int number OffensiveLine .FootballPlayer center .FootballPlayer offensiveGuard .FootballPlayer offensiveTackle . String toString()

Create a Netbeans project (or keep developing from your previous lab) with

App.java

Model

Model.java

FootballPlayer.java

Height.java

Person.java

OffensiveLine.java

Functionality

The application App creates a Model object

The Model class

creates 3 FootballPlayer objects

creates an OffensiveLine object using the 3 FootballPlayer objects

displays information about the OffensiveLine object and its 3 players

it is a requirement that this should be done using the toString( ) method in OffensiveLine, which will use toString( ) in FootballPlayer

displays the average weight of the OffensiveLine

this will be done using the averageWeight in the OffensiveLine

The classes

App

it has the main method which is the method that Java looks for and runs to start any application

it creates an object (an instance) of the Model class

Model

this is the class where all the action is going to happen

it creates three football players

it creates an OffensiveLine object using the three players

displays information about the OffensiveLine

this has to be done using the OffensiveLine object

this is really information about its 3 players

the format is free as long as it contains all the information about each of the 3 players

displays the average weight of the OffensiveLine

this has to be done using the OffensiveLine object

this has to call the averageWeight method in OffensiveLine

Personhas the following attributes

String name;

Height height;

int weight;

String hometown;

String highSchool;

and a method

String toString( )

toString( ) overrides the superclass Object toString( ) method

toString( ) returns information about this class attributes as a String

encapsulation

if you want other classes in the same package yo have access to the attributes, you need to make them protected instead of private.

see more here.

FootballPlayerhas the following attributes

int number;

String position;

and a method

String toString( )

toString( ) overrides the superclass Object toString( ) method

toString( ) returns information about this class attributes as a String

Height

it is a class (or type) which is used in Person defining the type of the attribute height

it has two attributes

int feet;

int inches

and a method

String toString( )

toString( ) overrides the superclass Object toString( ) method

toString( ) returns information about this class attributes as a String

it returns a formatted string with feet and inches

for instance: 5'2"

OffensiveLinehas the following attributes

FootballPlayer center;

FootballPlayer offensiveGuard;

FootballPlayer offensiveTackle;

They might also be stored in an ArrayList

and two methodsString toString( )

toString( ) overrides the superclass Object toString( ) method

toString( ) returns information about the 3 players attributes as a String

int averageWeight()

calculates and returns the average weigh of the OffensiveLine.

it is calculated based on the weight of each of its players