In: Computer Science
You can complete this with Eclipse (or BlueJ if you like). Here are the requirements:
Write a Person class. A Person has properties of name and age. You construct a Person object by providing the name and age in that order. We want to be able to get and set the name. We want to be able to get the age and to increase the age by 1 when the person has a birthday.
What will the object need to remember? name and age - those are the instance variables.
Person class has this constructor :
public Person (String theName, int theAge) - Constructs a new person with the given name and age. Remember that the job of the constructor is to initialize the instance variables
It has these methods.
public String getName() - Gets the name of this Person
public int getAge() - Gets the age of this Person
public void setName(String newName) - Sets the new name for this Person
public void haveBirthday() - Adds one to this Person's age
The methods and constructor are provided as stubs in the starter file. A stub has a method header and a body with no implementation.
The stub for an accessor returns 0 for numbers or null for objects like strings.
A stub for a mutator method has no body at all.
A class with stubs for methods will compile, but it does not yet behave correctly. You still need to supply implementation and the correct return values. The idea is that you can implement one method at a time and test it since the class will compile. This technique is frequently used in development of applications.
Javadoc is also provided for this class. Study how it is done so you can write the required Javadoc in the next problem. Notice that the Javadoc says what the method will do when complete - not what the stub does.
You are given a PersonTester class along with the starter for the Person class. Copy both into your BlueJ project. PersonTester is an application with a main method. To run your application, right click on it and execute its main method.
Given code:
public class Person
{
/**
* Constructs a new person with the given
name and age
* @param theName the name of this Person
object
* @param theAge the age of this Person
object
*/
public Person (String theName, int theAge)
{
}
/**
* Gets the name of this Person
* @return the name of this person
*/
public String getName()
{
return null;
}
/**
* Gets the age of this Person
* @return this presons age
*/
public int getAge()
{
return 0;
}
/**
* Sets the new name for this Person
* @param newName the new name for this
Person
*/
public void setName(String newName)
{
}
/**
* Adds one to this Person's age
*/
public void haveBirthday()
{
}
}
SOURCE CODE IN JAVA:
Person.java
public class Person
{
private String name;
private int age;
/**
* Constructs a new person with the given name and age
* @param theName the name of this Person object
* @param theAge the age of this Person object
*/
public Person(String theName, int theAge)
{
name=theName;
age=theAge;
}
/**
* Gets the name of this Person
* @return the name of this person
*/
public String getName()
{
return name;
}
/**
* Gets the age of this Person
* @return this presons age
*/
public int getAge()
{
return age;
}
/**
* Sets the new name for this Person
* @param newName the new name for this Person
*/
public void setName(String newName)
{
name=newName;
}
/**
* Adds one to this Person's age
*/
public void haveBirthday()
{
age+=1;
}
}
Main.java
class Main
{
public static void main(String[] args)
{
//testing the Person class
Person p=new Person("Adam", 21);
System.out.println("Before birthday: ");
System.out.println(p.getName()+" is "+p.getAge()+" years old!");
p.haveBirthday();
System.out.println("After birthday: ");
System.out.println(p.getName()+" is "+p.getAge()+" years old!");
}
}
OUTPUT:
Regards!