Home  >  Article  >  Java  >  Java polymorphism understanding

Java polymorphism understanding

巴扎黑
巴扎黑Original
2017-06-23 16:36:531785browse

The implementation of polymorphism in Java

What is polymorphism

  1. The three major characteristics of object-oriented: encapsulation, inheritance, 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.

  2. 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)

  3. The technology to achieve polymorphism is called: dynamic binding (dynamic binding), which refers to determining the actual type of the referenced object during execution. , calling its corresponding method according to its actual type.

  4. The role of polymorphism: Eliminate the coupling relationship between types.

  5. 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 overwriting;
3. The parent class reference points to the child class 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 categories

Java polymorphism understanding##
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...{}
Java polymorphism understanding

(2) Question: What is the following output?

Java polymorphism understanding##
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));    ⑨
Java polymorphism understanding
##( 3) Answer

①   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
Java polymorphism understanding
Java polymorphism understanding

##Attention, students learning Java! ! !

If you encounter any problems during the learning process or want to obtain learning resources, you are welcome to join the Java learning exchange group: 159610322 Let’s learn Java together!

The above is the detailed content of Java polymorphism understanding. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn