面向对象之多态

一、多态是面向对象的重要特征。其按照字面的意思即多种状态,在面向对象语言中通俗的可以理解为“一个接口多种实现”,即允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。

举个生活中的例子:美女拿水果(相当父类),她手中可以拿柚子,可以拿苹果,可以拿香蕉,可以拿菠萝等(拿的每种水果相当于子对象)。这就体现出了一件事情,却给我们呈现出了不同的状态。

二、当然我们最想知道的是为何要引出多态这个概念,它的好处到底是什么。

把不同的子类对象都当作父类来看,可以屏蔽不同子类对象之间的差异,写出通用的代码,做出通用的编程,以适应需求的不断变化。

赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。也就是说,在程序上,隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别;将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成,其中数据和函数都是类的成员。在程序上,隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别;将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的进行有机的结合,形成,其中数据和函数都是类的成员。父亲的行为像儿子,而不是儿子的行为像父亲。

三、特点:

第一,  使得一个方法有多重实现方式。即我们拿水果不一定必须要拿苹果,只要货架上有的水果我们都可以取下来;

第二,  将接口与现实隔离,将“what”与“how”隔离开。即售货员问你要拿什么东西,你只要回答说拿水果,具体是拿苹果、香蕉售货就不清楚了;

第三,  方便拓展和维护性。即超市的水果收获区没有草莓,你可以很容易的加上货架,摆上草莓,而不用去想把草莓放在那里最容易管理。

第四,  应用程序不避为每一个派生类编写功能调用,只需要对抽象基类进行处理即可,这样大大提高了程序的可复用性。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值