Java Reference
In-Depth Information
The problem is that implementation inheritance breaks encapsulation. The subclass
sion of the superclass, the subclass might break, even if the subclass is not touched.
classes describes an appointment calendar. Although you do not have access to this
class's source code, assume that Listing 2-29 describes part of its code.
Listing 2-29. An appointment calendar class
public class ApptCalendar
private final static int MAX_APPT = 1000;
private Appt[] appts;
private int size;
public ApptCalendar()
appts = new Appt[MAX_APPT];
size = 0; // redundant because field automatically
initialized to 0
// adds clarity, however
public void addAppt(Appt appt)
if (size == appts.length)
return; // array is full
appts[size++] = appt;
public void addAppts(Appt[] appts)
for (int i = 0; i < appts.length; i++)
Listing2-29 ' s ApptCalendar classstoresanarrayofappointments,witheachap-
pointmentdescribedbyan Appt instance.Forthisdiscussion, Appt 'sdetailsareirrel-
evant—it could be as trivial as class Appt {} .
Search WWH ::

Custom Search