Java Reference
In-Depth Information
call this class Post . Then we can declare that a MessagePost is a Post and a PhotoPost is a
Post . Finally, we add those extra details needed for a message post to the MessagePost class,
and those for a photo post to the PhotoPost class. The essential feature of this technique is that
we need to describe the common features only once.
Concept:
Inheritance allows
us to define one
class as an exten-
sion of another.
Figure 8.5 shows a class diagram for this new structure. At the top, it shows the class Post ,
which defines all fields and methods that are common to all posts (messages and photos).
Below the Post class, it shows the MessagePost and PhotoPost classes, which hold only
those fields and methods that are unique to each particular class.
Figure 8.5
MessagePost and
PhotoPost inheriting
from Post
This new feature of object-oriented programming requires some new terminology. In a situ-
ation such as this one, we say that the class MessagePost inherits from class Post . Class
PhotoPost also inherits from Post . In the vernacular of Java programs, the expression “class
MessagePost extends class Post ” could be used, because Java uses an extends keyword to
define the inheritance relationship (as we shall see shortly). The arrows in the class diagram
(usually drawn with hollow arrow heads) represent the inheritance relationship.
Concept:
A superclass is
a class that is ex-
tended by another
class.
Concept:
Class Post (the class that the others inherit from) is called the parent class or superclass. The
inheriting classes ( MessagePost and PhotoPost in this example) are referred to as child
classes or subclasses. In this topic, we will use the terms “superclass” and “subclass” to refer to
the classes in an inheritance relationship.
A subclass is a
class that extends
(inherits from) another
class. It inherits all
fields and methods
from its superclass.
Inheritance is sometimes also called an is-a relationship. The reason is that a subclass is a spe-
cialization of a superclass. We can say that “a message post is a post” and “a photo post is a post.”
 
Search WWH ::




Custom Search