Home  >  Article  >  Java  >  How to implement polymorphism in java

How to implement polymorphism in java

王林
王林Original
2019-11-11 15:23:315234browse

How to implement polymorphism in java

Ways to implement polymorphism in Java:

1. Interface implementation;

2. Inherit parent class method Rewrite;

3. Method overloading in the same class.

Necessary conditions for the existence of polymorphism:

1. Inheritance is required;

2. Overriding is required;

3. The parent class reference points to the subclass object.

The benefits of polymorphism:

1. Substitutability.

Polymorphism is replaceable for 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 enables scalability of code. 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, which are then completed or overridden by subclasses. 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 the application 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.

Polymorphic examples:

(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...{}

(2) Question: What is the following output result?

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)); ⑨

(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

Recommended tutorial: java tutorial

The above is the detailed content of How to implement polymorphism in java. 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