封装、继承、多态

封装、继承、多态

三、多态:
多态一般都要和继承结合起来说,其本质是子类通过覆盖或重载,父类的方法,来使得对同一类对象同一个方法的调用产生不同的结果。

实现:
我们在实现获取不同电脑运行的不同系统时,先创建一个Computer类(父类)并添加一个system方法,再创建一个PC类(继承于Computer类)和Mac类(继承于Computer类),由于system的不同,我们可以在两个子类中各自重写一个system类,用于获取不同电脑的不同的系统。
Computer *com = nil;
Computer = [PC alloc]init];//实例化PC对象
[PC system];
Computer = [Mac alloc]init;//实例化Mac对象
[Mac system];

原理:
id类型:通用对象指针类型,弱类型,编译的时候不进行具体的类型检查。
动态绑定:动态类型可以做到在程序直到执行时才确定对象的真实类型,进而确定需要调用那个对象方法。
OC 不同于其他程序设计语言,他可以在运行的时候加入新的数据类型和新的程序模块,动态类型识别,动态绑定,动态加载。

优点:
1、多态最重要的优点在于简化了编程接口,何以理解?他允许在类和类之间重用一些习惯性的命名,而不是为每一个新加的函数命名一个新的名字。。这样,编程接口就是一些抽象行为的集合,从而和实现接口的类区分开。
2、多态也使得代码可以分散在不同的对象中,而不用视图在一个函数中考虑到所有可能的对象。这样可以优化代码的扩展性和复用性。挡一个新的情景出现时,无须对现有的代码进行改动,而只需要增加一个新的类和新的同名的方法。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值