Getting started
Create a NetBeans Java application project with
a main class called
Driver1080 and a second class called
Point1080.
Both classes need to be in the edu.unca.cs.csc202
package.
The tasks
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.
- Override the
toString
method inPoint1080
with something that prints nicely. - Modify your driver routine to use the the overriden
toString
method. - Create a new class
NamedPoint1080
that does nothing more thanextends
Point1080
. - Return to your driver method. Change one of the
invocations of the default
Point1080
constructor to an invocation of the defaultNamedPoint1080
constructor. 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
NamedPoint1080
that receives two integer arguments and passes them on toPoint1080
. Your new constructor should contain nothing more than a call tosuper
. It also should contain athrows IllegalArgumentExecption
in its header since thesuper
can do that. -
Go to your driver routine and change all the
invocations of the
Point1080
to use theNamedPoint1080
constructor. You’ll probably discover that you need to add a defaultNamedPoint1080
constructor to get your program to run. That’s a funny thing about Java. -
Return to the
NamedPoint1080
class and add aprivate
String
field calledname
. Set up the appropriate accessor and mutator methods for this new field. (I strongly suggest you call themgetName
andsetName
.) -
Try to use your new
setName
method to give a point a name. This will not work until you declare your variables to be of typeNamedPoint1080
. Think a bit about that one. -
Now add an
NamedPoint1080
constructor that takes three arguments, aString
and two integers. Modify your driver to use this new constructor. -
Add a
toString
method toNamedPoint1080
. See if your program is now prints a bit friendlier. -
Finally, declare
lastTest
to be of typePoint1080
but assign it a value using the defaultNamedPoint1080
constructor. Print this value with a simpleSystem.out.println
. Do you get the name or unnamed print?