- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
面向对象和面向过程
面向过程就是分析出问题的解决步骤,然后用函数这些步骤一步一步实现出来,使用的时候一个一个一次调用就可以了
面向对象是把构成问题事物分解成各个对象. ,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。
面向对象和面向过程设计思想
设计一个下棋游戏
面向过程的解决方法是
1.开始.2.绘制棋盘.3.黑子先下.4.白子再下.5.如此循环.6.判断输赢7.给出结论.
面向对象的解决方法是:
1/确定黑白双方/3.棋盘系统(绘制棋盘).4.规则系统(判断输赢)
面向对象面向过程
面向过程:把上述的步骤分别用函数来实现即可
面向对象:第一类对象(玩家对象)负责接受用户输入,并告知第二类对象(棋盘对象)棋子布局的变化,棋盘对象接收到了棋子的i变化就要负责在屏幕上面显示出这种变化,同时利用第三类对象(规则系统)来对棋局进行判定。
面向对象也可以说是从宏观方面思考问题,而面向过程可以说是从细节处思考问题。在面向对象中,也存在面向过程
类与对象概念
封装
面向对象三个特征:封装,继承,多态
1、封装
封装是对象和类概念的主要特性。它是隐藏内部实现,稳定外部接口,可以看作是“包装”。 封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。
好处:1、隐藏关键部位 ,做到必威体育官网网址效果 2、简化程序,提高工作效率 3、提高程序的安全性,因为在oc中直接访问成员变量是不安全的做法
继承
继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。
通过继承创建的新类称为“子类”或“派生类”,被继承的类称为“基类”、“父类”或“超类”。继承的过程,就是从一般到特殊的过程。在考虑使用继承时,有一点需要注意,那就是两个类之间的关系应该是“属于”关系。例如,小明 是一个人,小华 也是一个人,因此这两个类都可以继承 Person 类。但是 腿 却不能继承 Person 类,因为腿并不是一个人。
多态
对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。简单的说,就是一句话:允许将子类类型的指针赋值给父类类型的指针.
不同对象以自己的方式响应相同的消息的能力叫做多态.
类和对象
属性是一个类的特征
方法是一个类的行为活动
类就是一组具有相同(特征)属性和行为(方法)的事物的集合(抽象)
对象是一个类的具体实现.(
类描述这类事物应该具有哪些行为特征.而对象真正的去实现行为(方法)和特征(属性).
类成员变量的访问权限
@public 公共-类外可访问的成员
@private 私有的 –仅类内可访问的成员
@protected 受保护的-类,子类内 可访问的成员
默认为protected
类的声明
一个类文件 分为接口部分.h 和实现部分.m
接口部分主要说明类的特征和功能.但不去实现.
类的声明主要由两个部分组成实例变量(属性)和方法,
1.实例变量可以使用OC语言中任何一种数据类型(包括基本类型和指针类型)
2.在声明实例变量的时候不能为其初始化,系统会默认初始化
实例变量的默认作用域范围是整个类.
对象的创建和使用
OC中对象通过指针来声明.如ClassA*object
OC中对象的创建,使用alloc来创建一个对象.编译器会给object对象分配一块可用的内存地址..然后需要对对象进行初始化(即调用init方法),这样这个对象才可以使用.如Person*person1=[[Person alloc]init];
同一个类的每个对象有不同的实例变量的存储空间
同一类的每个对象共享该类方法.
对象的初始化
对象必须先创建,.再初始化.才能使用
Person*person1=[[Person alloc]init];
首先为对象分配内存地址,为初始化做准备.初始化时创建过程中将新分配对象的状态设置为和你的初始值.使之处于可用状态的接通.通过约定.我们要求初始方法以init开头.并且在成功完成初始化后.返回一个动态类型对象(id).如果失败则返回nil 初始方法可以保存一个或者多个参数用于指定初始值.如下
初始方法的声明
-(id)initWithName:(NSString*)name;
-(id)initWithName:(NSString*)name andAge:(int)age;
对象初始化的实现
1.若需要父类完成一系列初始化要求,需要调用[super init] Self=[super init]的作用:赋值.. 并且测试是否赋值成功 ,将[super init]的结果赋给self 是OC的标准惯例.这么做是为了防止父类在初始化过程中返回的对象不同于原先创建的对象.
2.在
您可能关注的文档
最近下载
- 城镇污水处理厂工艺全套推荐.ppt VIP
- 05J927-1汽车库建筑构造图集.pdf VIP
- 实验室生物安全生物安全实验室操作规范(微生物.pptx VIP
- 2025年秋季开学全体教师大会上,校长讲话:教育从来不靠一个人燃烧,而靠一群人沉下去!.docx
- 中小学校服验收记录单(参考模版).doc VIP
- DLT5418-2009脱硫吸收塔施工及验收规范.pdf VIP
- 2020新译林版高中英语选择性必修四Unit2 Integratedskills课件.pptx VIP
- 医院信息科笔试、面试题(附答案).docx VIP
- 2020译林版新教材高中英语选择性必修四第二单元知识点复习课件.pptx VIP
- 详解《工贸企业重大事故隐患判定标准》2023版.pptx VIP
文档评论(0)