多态性

来源:互联网 发布:淘宝网司法拍卖可靠吗 编辑:程序博客网 时间:2024/05/22 17:54
6.1.4 多态性
多态性是面向对象技术的一个重要概念。同一操作作用于不同的对象,可以有不同的解释,
产生不同的执行结果,这就是多态性。多态性通常通过派生类重载基类中的同名函数来实现。
多态性分为如下两种。
(1)编译时的多态性。编译时的多态性是通过重载来实现的。系统在编译时,根据传递
的参数、返回的类型等信息决定实现何种操作。
(2)运行时的多态性。运行时的多态性就是指直到系统运行时,才根据实际情况决定实
现何种操作。
编译时的多态性提供了运行速度快的特点,而运行时的多态性则带来了高度灵活和抽象
的特点。
多态性大致有以下 3 种实现方式。
(1)通过接口实现多态性。接口描述类需要实现的操作、属性和事件,以及每个操作需
要接收和返回的参数类型,但将这些操作的特定实现留给实现接口的类去完成。多个类可实
现相同的“接口”,而单个类可以实现一个或多个接口。这样实现某接口的类都有此接口定义
的操作的不同实现方式。
(2)通过继承实现多态性。多个类可以从单个基类“继承”,子类不仅接收基类的所有方
法、属性和事件,还可以重写基类的操作以提供不同的实现。继承实现的多态性使成员函数
根据收到该调用的对象的类型产生不同的动作,类的使用者可以处理普遍性而让执行环境处
理特殊性,提高了系统的可扩展性。
(3)通过抽象类实现的多态性。抽象类为多态的实现提供了极大的灵活性,因为它同时
提供继承和接口的元素。抽象类本身不能实例化,必须被继承。抽象类的部分或全部成员可
能未实现,该实现由继承类提供。已实现的成员仍可被重写,并且继承类仍可以实现附加接
口或其他功能。
0 0
原创粉丝点击