In many way this is yet another continuation of Lab 9. We are going to do is to look at other ways of making a point.
It would be best to start by copying your old
project in NetBeans.
Be sure to compile it before you go on.
If you don’t have a working
Point1080, you can copy
along with its driver.
The chores in this lab are going to be directed by the instructor. You can try to get ahead, but it might be best just to help the person beside you get through the next point.
- Have a copy of a working project for lab 9 or lab 10.
- Override the
Point1080with something that prints nicely.
- Modify your driver routine to use the the overriden
- Create a new class
NamedPoint1080that does nothing more than
- Return to your driver method. Change one of the
invocations of the default
Point1080constructor to an invocation of the default
NamedPoint1080constructor. If you don’t have a default constructor, add one. Do not change any declarations. Your program should still run, but some objects may be printed a bit differently.
Add a constructor to
NamedPoint1080that receives two integer arguments and passes them on to
Point1080. Your new constructor should contain nothing more than a call to
super. It also should contain a
throws IllegalArgumentExecptionin its header since the
supercan do that.
Go to your driver routine and change all the
invocations of the
Point1080to use the
NamedPoint1080constructor. You’ll probably discover that you need to add a default
NamedPoint1080constructor to get your program to run. That’s a funny thing about Java.
Return to the
NamedPoint1080class and add a
name. Set up the appropriate accessor and mutator methods for this new field. (I strongly suggest you call them
Try to use your new
setNamemethod to give a point a name. This will not work until you declare your variables to be of type
NamedPoint1080. Think a bit about that one.
Now add an
NamedPoint1080constructor that takes three arguments, a
Stringand two integers. Modify your driver to use this new constructor.
NamedPoint1080. See if your program is now prints a bit friendlier.
lastTestto be of type
Point1080but assign it a value using the default
NamedPoint1080constructor. Print this value with a simple
System.out.println. Do you get the name or unnamed print?