iOS开发-写给初学者:OC面向对象的三大特征
封装、继承、多态
封装:封装主要的功能是将数据隐藏起来,只有此类别所属的方法,亦即实体方法(instance
method),才能直接存取数据,所以也可以说是在保护数据,不会被外界任意的存取,所以就大大的降低数据的误用,且很容易的知道错误在哪里,从而省下很多的维护成本。面向对象程序设计中的方法可分为两种,一为上述的实体方法,二为类别方法(class method)。主要的差异在于实体方法需要有一对象去引发,而类别方法可以由类别名称触发之。
多态:父类指针指向子类对象。两种表现形式:重写(父子类之间)和重载(本类中)
OC的多态体现是:重写,没有重载这种表现形式
举例说明:
@interface Parent : NSObject //父类
- (void)simpleCall;
@end
@interface Child_A : Parent //子类 Child_A@end
@implementation Child_A
- (void)simpleCall
{NSLog(@"我是Child_A的simpleCall方法");
}
@end
@interface Child_B : Parent //子类Child_B@end
- (void)simpleCall
{NSLog(@"我是Child_的simpleCall方法");
}
@end
然后,我们就可以看到多态所展示的特性了:
Parent * pa=[[Child_Aalloc] init];//父类指针指向子类Child_A对象
Parent * pb=[[Child_Balloc] init];//父类指针指向子类Child_B对象
[pa simpleCall];// 显然是调用Child_A的方法
[pb simpleCall];// 显然是调用Child_B的方法
在OC中常看见的多态体现:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *CellWithIdentifier = @"Cell"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellWithIdentifier]; return cell; }
(UITableViewCell *)指向cell子类对象
iOS开发-写给初学者:OC面向对象的三大特征相关推荐
- OC面向对象的三大特征(封装 继承 多态)习题2 复合
复合:一个类中有一个成员变量是另外一个类的对象. 比如我现在要制作一台电脑,电脑需要CPU,显示器,鼠标和键盘等.这些东西的研发都是很复杂的过程.如果现在有成型的CPU等组件,就可以直接用这些组件攒一 ...
- C# (初入江湖)-猫狗大战(面向对象的三大特征)
C# -写个猫狗大战(面向对象的三大特征) 效果 程序分析 资源准备 需要事先找好两个普通png格式的图(卡通猫和卡通狗) 两个gif动图,用来显示初始的 "挑衅" 三个gif的动 ...
- 黑马程序员_面向对象的三大特征
---------------------- ASP.Net+Android+IO开发S..Net培训.期待与您交流! ---------------------- 1.面向对象的三大特征之一:封装 ...
- Java-Day12 面向对象的三大特征之封装、继承,单例模式(饿汉式、懒汉式)、方法重写 (覆盖)、注解 (annotation)、super关键字、对象的创建流程超详细
目录 1. 面向对象的三大特征之封装 1.1 封装的含义 1.2 封装的目的 1.3 封装的优点 1.4 封装的实现过程 1.5 拓展知识:JavaBean 2. 面向对象的三大特征之继承 2.1 继 ...
- python多态的三种表现形式_python小结----面向对象的三大特征(封装,继承,多态)
面向对象的三大特征: 封装,继承,多态 面向对象的编程思想核心:高类聚,低耦合–程序的设计模式范畴 封装 什么是封装: 在面向对象编程的思想中,对代码进行高度封装,封装又叫包装 封装就是指将数据或者函 ...
- 允许使用抽象类类型 isearchboxinfo 的对象_Java面向对象编程三大特征 - 多态
Java面向对象编程三大特征 - 多态 本文关键字:Java.面向对象.三大特征.多态 多态是面向对象编程的三大特征之一,是面向对象思想的终极体现之一.在理解多态之前需要先掌握继承.重写.父类引用指向 ...
- java五大原则_Java面向对象的三大特征和五大原则
Java面向对象的三大特征 封装 封装(Encapsulation)是指属性私有化,根据需要提供setter和getter方法来访问属性.即隐藏具体属性和实现细节,仅对外开放接口,控制程序中属性的访问 ...
- 面向对象的三大特征,封装、继承、多态的个人理解以及代码分析
面向过程:我们以前使用的是面向过程编程,你需要清除每个实现步骤,每个步骤每行代码都要仔仔细细的编写, 不知道过程就找不到结果,找到实现过程就可以得到实现结果. 例如: 我们在外打工租房子,我们需要了解 ...
- 关于面向对象以及三大特征的解释
关于面向对象以及三大特征的解释 面向对象: 在C语言编程中是面向过程而在Java编程中是面向对象的.面向过程更重要的是看重实现的具体过程,面向对象看重的是结果,不管其里面的具体过程,只看结果. 举一个 ...
最新文章
- 【Step By Step】将Dotnet Core部署到Docker下
- windows查看端口占用以及关闭相应的进程
- java实现简单链表
- fedora在此处打开终端
- 四大主流芯片架构(X86、ARM、RISC-V和MIPS)
- bzoj5017 [Snoi2017]炸弹
- 装扮圣诞海报气氛,你需要这些小元素!
- Membership、MembershipUser和Roles类
- Unsafe in Java
- 129个百度网盘资源搜索网站大全(建议收藏)
- mysql8忘记密码后重置密码
- JAVA 如何控制模拟表单提交_java后端模拟表单提交
- Oracle SQL脚本批量导入导出
- linux 类似winscp_linux 类似 winscp
- easyphp mysql_用EasyPHP本地搭建PHP环境 | Wopus
- HM编码器代码阅读(30)——帧间预测之AMVP模式(五)运动估计
- kubeadm创建k8s集群(1.14.2版本)
- 一个小脚本从小说中过滤出经常出现的人名
- 如何从 FastReport VCL 中将报表导出为PNG格式?
- LoadRunner关联详解