您的位置:首页 > 其它

OC面向对象的三大特性:封装,继承,多态

2016-03-28 00:00 543 查看
摘要: 封装针对成员变量(属性),将成员变量包装起来,并且提供接口,供外界设置与调用,防止属性的随意篡改与对接收值的过滤;继承,子类将拥有父类所有的属性与方法,有利于代码重构,减少重复的代码量,但也增加代码的耦合程度;多态,建立在继承的基础上,简单来说就是同一事物的不同表现(是子类的不同表现),父类指向子类。

以下,将以三个类做为描述这三个特性的事例,人(父类),动物(父类),狗(子类),因有其它的原因,代码只能晚上抽个时间补上。

假设人有两个属性,姓名(name)与年龄(age),行为:饲养(feed);动物 行为(eat);狗,继承父类;以上三个类将描述类的三大特性。

封装就不说什么了,继承要注意:要满足 什么是什么的关系;主要说一下多态的应用场景,人类中饲养有一个参数,那就是动物对象,为何不是继承父类动物子类的对象,这个通过代码自然可以深刻体会;回忆一下,多态使用的条件,第一:继承,第二:父类指针指向子类对象;当父类接收了一个父类的子类,那么有编译时,就可以通过子类对象就找对应的方法,如果:饲养方法中的参数为子类对象,那么当我再想云喂食猫的时候就要再写一个饲养方法。重复的代码就太多了,因为饲养的动物很多。

代码补上:代码在此
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  OC 封装 继承 多态