This article mainly introduces the implementation of polymorphism in Java. What is polymorphism? A simple question will help you understand Java polymorphism, which has certain reference value. Interested friends can refer to
What is polymorphism
The three major characteristics of object-oriented: encapsulation, inheritance, and polymorphism. From a certain perspective, encapsulation and inheritance are almost always prepared for polymorphism. This is our last concept and the most important knowledge point.
The definition of polymorphism: refers to allowing objects of different types to respond to the same message. That is, the same message can behave in many different ways depending on the person to whom it is sent. (Sending a message is a function call)
The technology to achieve polymorphism is called: dynamic binding (dynamic binding), which refers to judging the actual type of the referenced object during execution, and based on its The actual type calls its corresponding method.
The role of polymorphism: eliminate the coupling relationship between types.
In reality, there are countless examples of polymorphism. For example, if you press the F1 key, the AS 3 help document will pop up under the Flash interface; the Word Help will pop up under Word; and the Windows Help and Support will pop up under Windows. The same event occurring on different objects will produce different results.
The following are the three necessary conditions for the existence of polymorphism, and everyone is required to recite them when dreaming!
Three necessary conditions for the existence of polymorphism
1. There must be inheritance;
2. There must be overriding;
3. The parent class reference points to the subclass object.
The benefits of polymorphism:
1. Substitutability. Polymorphism enables replacement of existing code. For example, polymorphism works for the Circle class, but it also works for any other circular geometry, such as a torus.
2. Extensibility. Polymorphism makes code extensible. Adding new subclasses does not affect the polymorphism, inheritance, and operation and operation of other features of existing classes. In fact, it is easier to add new subclasses to obtain polymorphic functions. For example, after realizing the polymorphism of cones, semi-cones and hemispheres, it is easy to add the polymorphism of sphere class.
3. Interface-ability. Polymorphism is achieved by the superclass providing a common interface to subclasses through method signatures, and the subclasses completing or overriding it. As shown in Figure 8.3. The super class Shape in the figure specifies two interface methods that implement polymorphism, computeArea() and computeVolume(). Subclasses, such as Circle and Sphere, improve or override these two interface methods in order to achieve polymorphism.
4. Flexibility. It embodies flexible and diverse operations in applications and improves usage efficiency.
5. Simplicity. Polymorphism simplifies the code writing and modification process of application software. This feature is particularly prominent and important when dealing with calculations and operations on a large number of objects.
The implementation method of polymorphism in Java: interface implementation, inheriting the parent class for method rewriting, and method overloading in the same class.
A small question:
(1) Related classes
##
class A ...{ public String show(D obj)...{ return ("A and D"); } public String show(A obj)...{ return ("A and A"); } } class B extends A...{ public String show(B obj)...{ return ("B and B"); } public String show(A obj)...{ return ("B and A"); } } class C extends B...{} class D extends B...{}
A a1 = new A(); A a2 = new B(); B b = new B(); C c = new C(); D d = new D(); System.out.println(a1.show(b)); ① System.out.println(a1.show(c)); ② System.out.println(a1.show(d)); ③ System.out.println(a2.show(b)); ④ System.out.println(a2.show(c)); ⑤ System.out.println(a2.show(d)); ⑥ System.out.println(b.show(b)); ⑦ System.out.println(b.show(c)); ⑧ System.out.println(b.show(d)); ⑨
① A and A ② A and A ③ A and D ④ B and A ⑤ B and A ⑥ A and D ⑦ B and B ⑧ B and B ⑨ A and D
The above is the detailed content of Examples of implementing polymorphism in Java. For more information, please follow other related articles on the PHP Chinese website!