I am working on a homework assignment. I am confused on how it should be done.
The question is:
Create a class called IDCard that contains a person's name, ID number, and the name of a file containing the person's photogrpah. Write accessor and mutator methods for each of these fields. Add the following two overloaded constructors to the class:
public IDCard() public IDCard(String n, int ID, String filename)
Test your program by creating different ojbects using these two constructors and printing out their values on the console using the accessor and mutator methods.
I have re-written this so far:
public class IDCard {
String Name, FileName;
int ID;
public static void main(String[] args) {
}
public IDCard()
{
this.Name = getName();
this.FileName = getFileName();
this.ID = getID();
}
public IDCard(String n, int ID, String filename)
{
}
public String getName()
{
return "Jack Smith";
}
public String getFileName()
{
return "Jack.jpg";
}
public int getID()
{
return 555;
}
}
Let's go over the basics: "Accessor" and "Mutator" are just fancy names fot a getter and a setter. A getter, "Accessor", returns a class's variable or its value. A setter, "Mutator", sets a class variable pointer or its value.
So first you need to set up a class with some variables to get/set:
But oh no! If you instantiate this class the default values for these variables will be meaningless. B.T.W. "instantiate" is a fancy word for doing:
So - let's set up a default constructor, this is the method being called when you "instantiate" a class.
But what if we do know the values we wanna give our variables? So let's make another constructor, one that takes parameters:
Wow - this is nice. But stupid. Because we have no way of accessing (=reading) the values of our variables. So let's add a getter, and while we're at it, add a setter as well:
Nice. Now we can access
mName
. Add the rest of the accessors and mutators and you're now a certified Java newbie. Good luck.You need to remove the
static
from your accessor methods - these methods need to be instance methods and access the instance variablesYou can the create an
IDCard
and use the accessor like this:Each time you call
new
a new instance of theIDCard
will be created and it will have it's own copies of the 3 variables.If you use the
static
keyword then those variables are common across every instance ofIDCard
.A couple of things to bear in mind:
name
notName
.