This assignment must be completed by 10:10 AM on Saturday, 19 October, and uploaded to the Homework 7 moodle page. You should upload only your RotatedRectangle.java file.
Why?
This is a smallish assignment to try to bring Homework 6 to the standards used in CSCI 181 and in the textbook.
Getting starting
Start with the RotatedRectangle code you wrote for
Homework 6.
If you didn’t do that homework, I’ll try provide you
with a copy written by another student.
The tasks
Implementing toString
Implement a good toString method following the
suggested practice of section 9.5.1 (pp. 448 to 449)
and special topic 9.6 (p. 453)
of the textbook.
Implementing equals
Implement a good equals method following the
suggested practice of section 9.5.2 (pp. 450 to 451)
and special topic 9.7 (pp. 454-454)
of the textbook.
Implementing clone
Implement a tolerable clone method following the
suggested practice of
special topic 10.2 (pp. 475-477)
of the textbook.
Also, modify your class header so that it extends
the Cloneable interface.
This is much easier to do with the RotatedRectangle
than with the BankAccount
Implementing a copy constructor
Implement a good copy constructor.
A copy constructor takes a single argument, another
RotatedRectangle, and makes a copy of it.
Obviously, the copy constructor will be very similar to the
clone method.
There are several well-known Java gurus who say that
Java’s
clone and Cloneable paradigm
is “broken” and should never be used.
I understand that in CSCI 181 Java classes have copy constructors but not
clone methods.