首页 > 代码库 > Interview Q&A - 什么是多态?

Interview Q&A - 什么是多态?

Polymorphism is often referred to as the third pillar of object-oriented programming, after encapsulation and inheritance. It has two distinct aspects:

  • At run time, objects of a derived class may be treated as objects of a base class in places such as method parameters and collections or arrays. When this occurs, the object‘s declared type is no longer identical to its run-time type.

  • Base classes may define and implement virtualmethods, and derived classes can override them, which means they provide their own definition and implementation. At run-time, when client code calls the method, the CLR looks up the run-time type of the object, and invokes that override of the virtual method. Thus in your source code you can call a method on a base class, and cause a derived class‘s version of the method to be executed. Virtual methods enable you to work with groups of related objects in a uniform way.

Interview Q&A - 什么是多态?