函数式编程-多态性
就编程而言,多态意味着多次重用单个代码。更具体地说,它是程序根据对象的数据类型或类以不同方式处理对象的能力。
多态性有两种类型 -
编译时多态性- 这种类型的多态性可以使用方法重载来实现。
运行时多态性- 这种类型的多态性可以使用方法重写和虚函数来实现。
多态性的优点
多态性具有以下优点 -
它帮助程序员重用代码,即一旦编写、测试和实现的类可以根据需要重用。节省大量时间。
单个变量可用于存储多种数据类型。
易于调试代码。
多态数据类型
多态数据类型可以使用仅存储字节地址的通用指针来实现,而不存储在该内存地址处的数据类型。例如,
function1(void *p, void *q)
其中p和q是通用指针,可以保存int、float(或任何其他)值作为参数。
C++ 中的多态函数
下面的程序展示了如何在 C++(一种面向对象的编程语言)中使用多态函数。
#include <iostream> Using namespace std: class A { public: void show() { cout << "A class method is called/n"; } }; class B:public A { public: void show() { cout << "B class method is called/n"; } }; int main() { A x; // Base class object B y; // Derived class object x.show(); // A class method is called y.show(); // B class method is called return 0; }
它将产生以下输出 -
A class method is called B class method is called
Python 中的多态函数
以下程序展示了如何在Python(一种函数式编程语言)中使用多态函数。
class A(object): def show(self): print "A class method is called" class B(A): def show(self): print "B class method is called" def checkmethod(clasmethod): clasmethod.show() AObj = A() BObj = B() checkmethod(AObj) checkmethod(BObj)
它将产生以下输出 -
A class method is called B class method is called