TurkuBasicOOPinJava / Week 4: Writing classes /16. Football match, part 1: Class Player
KaiquanMah's picture
Create 16. Football match, part 1: Class Player
8f6f3c7 verified
Let's start by implementing a football match in the Player class.
So write a class Player with the following properties:
Attribute 'number' (integer)
Attribute 'name' (string)
A constructor that takes the number and name as parameters and sets the values of the attributes
Get methods for number and name (name in the form 'getName')
Set methods for number and name (name of the form 'setName')
Note! As usual, the class must not be public - so do not use the attribute public in the definition.
import java.util.Random;
import java.lang.reflect.Field;
public class Test{
public static void main(String[] args){
final Random r = new Random();
System.out.println("Testing class Player...");
Player pl = new Player(10, "Pele");
System.out.println("Player object created!");
try {
Field number = pl.getClass().getDeclaredField("number");
boolean numberPrivate = number.getModifiers() == 2;
System.out.println("Number is private: " + numberPrivate);
} catch (Exception e) {
System.out.println("Attribute number is not defined");
}
try {
Field name = pl.getClass().getDeclaredField("name");
boolean namePrivate = name.getModifiers() == 2;
System.out.println("Name is private: " + namePrivate);
} catch (Exception e) {
System.out.println("Attribute name is not defined");
}
System.out.println("Testing observation methods...");
System.out.println("Name: " + pl.getName());
System.out.println("Number: " + pl.getNumber());
System.out.println("Testing setting methods...");
pl.setName("Ronaldo");
pl.setNumber(7);
System.out.println("Name: " + pl.getName());
System.out.println("Number: " + pl.getNumber());
}
}
// ADD
class Player {
// attributes
private int number;
private String name;
// constructor
public Player(int number, String name) {
this.number = number;
this.name = name;
}
public int getNumber() {
return this.number;
}
public String getName() {
return this.name;
}
public void setNumber(int number) {
this.number = number;
}
public void setName(String name) {
this.name = name;
}
}
Testing class Player...
Player object created!
Number is private: true
Name is private: true
Testing observation methods...
Name: Pele
Number: 10
Testing setting methods...
Name: Ronaldo
Number: 7