OC面向对象的三大特性:封装,继承,多态
2016-03-28 00:00
543 查看
摘要: 封装针对成员变量(属性),将成员变量包装起来,并且提供接口,供外界设置与调用,防止属性的随意篡改与对接收值的过滤;继承,子类将拥有父类所有的属性与方法,有利于代码重构,减少重复的代码量,但也增加代码的耦合程度;多态,建立在继承的基础上,简单来说就是同一事物的不同表现(是子类的不同表现),父类指向子类。
以下,将以三个类做为描述这三个特性的事例,人(父类),动物(父类),狗(子类),因有其它的原因,代码只能晚上抽个时间补上。
假设人有两个属性,姓名(name)与年龄(age),行为:饲养(feed);动物 行为(eat);狗,继承父类;以上三个类将描述类的三大特性。
封装就不说什么了,继承要注意:要满足 什么是什么的关系;主要说一下多态的应用场景,人类中饲养有一个参数,那就是动物对象,为何不是继承父类动物子类的对象,这个通过代码自然可以深刻体会;回忆一下,多态使用的条件,第一:继承,第二:父类指针指向子类对象;当父类接收了一个父类的子类,那么有编译时,就可以通过子类对象就找对应的方法,如果:饲养方法中的参数为子类对象,那么当我再想云喂食猫的时候就要再写一个饲养方法。重复的代码就太多了,因为饲养的动物很多。
代码补上:代码在此。
以下,将以三个类做为描述这三个特性的事例,人(父类),动物(父类),狗(子类),因有其它的原因,代码只能晚上抽个时间补上。
假设人有两个属性,姓名(name)与年龄(age),行为:饲养(feed);动物 行为(eat);狗,继承父类;以上三个类将描述类的三大特性。
封装就不说什么了,继承要注意:要满足 什么是什么的关系;主要说一下多态的应用场景,人类中饲养有一个参数,那就是动物对象,为何不是继承父类动物子类的对象,这个通过代码自然可以深刻体会;回忆一下,多态使用的条件,第一:继承,第二:父类指针指向子类对象;当父类接收了一个父类的子类,那么有编译时,就可以通过子类对象就找对应的方法,如果:饲养方法中的参数为子类对象,那么当我再想云喂食猫的时候就要再写一个饲养方法。重复的代码就太多了,因为饲养的动物很多。
代码补上:代码在此。
相关文章推荐
- PostgreSQL教程(三):表的继承和分区表详解
- C#与.net高级编程 C#的多态介绍
- C#中面向对象编程机制之多态学习笔记
- Lua面向对象之类和继承浅析
- 浅析Ruby中继承和消息的相关知识
- C#中的多态深入理解
- C#中多态、重载、重写区别分析
- 设计引导--一个鸭子游戏引发的设计理念(多态,继承,抽象,接口,策略者模式)
- C++实现不能被继承的类实例分析
- 自己简单封装的一个CDialog类实例
- C# 面向对象三大特性:封装、继承、多态
- PHP类的封装与继承详解
- js继承 Base类的源码解析
- Javascript 面向对象 继承
- JavaScript 继承使用分析
- Javascript面向对象编程(二) 构造函数的继承
- Windows 10封装中出现“无法验证你的Windows安装”错误解决方法 推荐
- 封装与继承
- Java总结(九)——(线程模块 一(线程的创建(方法一)与启动,线程状态与生命周期,进程与线程))
- OC三大特性:封装