Home >Java >javaTutorial >Heritage
Inheritance is one of the three basic principles of object-oriented programming.
Allows the creation of hierarchical classifications.
With inheritance, you can create a general class that defines characteristics common to a set of related items.
This general class can be inherited by other more specific classes, which add exclusive characteristics.
In Java jargon, the inherited class is called a superclass.
The class that inherits is called a subclass.
The subclass is a specialized version of the superclass.
The subclass inherits all variables and methods from the superclass and adds its own unique elements.
Basic aspects of inheritance
Java supports inheritance, allowing one class to incorporate another in its declaration.
This is done with the extends keyword.
The subclass adds functionality (extends) to the superclass.
An example of this is the creation of a superclass called TwoDShape, which stores the width and height of a two-dimensional object.
A subclass called Triangle is created to extend TwoDShape.
The extends keyword is used to create the subclass.
TwoDShape defines attributes of a generic two-dimensional shape, such as square, rectangle, triangle, etc.
The Triangle class is a subclass of TwoDShape and creates a specific type: the triangle.
Triangle inherits everything from TwoDShape and adds the style field, the area() method, and the showStyle() method.
style stores the style of the triangle, which can be any description such as "full", "contour", or "isosceles".
The area() method calculates and returns the area of the triangle.
The showStyle() method displays the style of the triangle.
Triangle can access the width and height members of TwoDShape, both in area() and directly in the t1 and t2 objects.
TwoDShape, despite being a superclass of Triangle, is an independent class and can be used separately.
TwoDShape shape = new TwoDShape();
shape.width = 10;
shape.height = 20;
shape.showDim();
class subclass-name extends superclass-name {
// class body
}
In Java, you can only specify a single superclass for any subclass you create.
Java does not support multiple inheritance (inheritance from multiple superclasses in the same subclass), unlike C++.
It is possible to create an inheritance hierarchy where a subclass becomes the superclass of another subclass.
No class can be a superclass of itself.
An advantage of inheritance is that a superclass can define attributes common to multiple objects, allowing the creation of numerous specific subclasses.
Each subclass can define its own specific classification based on the superclass.
An example of this is creating a subclass of TwoDShape to encapsulate rectangles.
The Rectangle class is a subclass of TwoDShape.
Adds the isSquare() method, which determines whether the rectangle is a square (when the width is equal to the height).
Also adds the area() method, which calculates the area of the rectangle.
The above is the detailed content of Heritage. For more information, please follow other related articles on the PHP Chinese website!