1,OC类、对象、方法_第1页
1,OC类、对象、方法_第2页
1,OC类、对象、方法_第3页
1,OC类、对象、方法_第4页
1,OC类、对象、方法_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Objective-C语法学习 主讲:茹转 第一节OC面向对象之类、对象和方法 本节学习内容 1、Objective-C 语言概述 2、掌握类和对象的特征 3、创建对象,方法调用 4、自定义初始化方法 5、点语法的使用 ObjectiveC语言概述 Objective C(简称OC)是iOS开发的核心语言 OC是在C语言的基础上,对C语言进行了封装,增加了面向对象语法 iOS开发也兼容C语言、C+混编 第一个OC程序 打开打开Xcode,新建项目新建项目 打开Xcode,新建项目 选择最简单的命令行项目 创建新项目 项目界面 Xcode 常用快捷方式 过度到OC语言 关键字 字符串 字符串都是

2、以开头的,比如”Hello”是OC中的字符串 控制台打印 C语言中使用printf(“Hello”)打印字符串,OC中使用NSLog函数 打印字符串 interface,implementation,end、public, protected, private, selector try, catch, throw, finally protocol, class 编译后的路径 C语言的源文件拓展名”.c”, OC的源文件拓展名为”.m” OC中使用NSLog函数打印输出 编译器会将.m文件编译为.o目标文件,比如说main.m编译成功 后会变成main.o文件 目标文件: /Users/ap

3、ple/Library/Deceloper/Xcode/DerivedData/1.HelloWorld - dmqifpdlqagsxpgjhoywmkgrbyij/Build/Intermediates/1.HelloWorld. build/Debug/1.HelloWorld.build/Objects-normal/x86_64 可执行文 件:/Users/apple/Library/Developer/Xcode/DerivedData/1.HelloWo rld-dmqifpdlqagsxpgjhoywmkgrbyij/Build/Products/Debug 编译后的路 径:/

4、Users/apple/Library/Developer/Xcode/DerivedData/ 面向过程、面向对象 面向过程与面向对象都是一种编程思想 什么是面向对象 (1)面向对象就是用计算机语言来模拟显示真实世界里的物 体 然后用编程逻辑来组织对象处理问题 ( 2)面向对象是现实世界模拟的自然延伸,现实世界中的任 何物体 都可以看作是对象。 ( 3)对象之间通过消息相互作用,另外,现实世界中任何实体 都可以归属于某类事物,任何对象都是某一类事物的实例 2.面向对象的优点 1)传统编程语言: 程序 = 算法+数据 2)面向对象编程语言:程序 = 对象+消息 3)结构清晰,维护简单,可扩展性

5、,代码重用 3.面向对象的三个特点 (1)封装 1封装是一种信息隐藏技术,它体现于对类的说明,是 类的重要特性 2封装就是把客观事物封装成抽象的类 (2)继承 1继承是子类自动共享父类数据和方法的机制 2继承的过程就是从一般到特殊的过程 3)多态 对象根据所接收的消息而做出不同的动作 举例 去西藏旅游 面向过程:我购买自行车,然后用脚去踏车的踏脚板, 轮子开始转,骑了10米,100米,10公里,100公里, 然后经过湖北,四川到达西藏。 面向对象:我让自行车转动,然后就到达了西藏 常用类型 类和对象 什么是类 1)类是对象的模板,是对实体的一个描述 2)类是oc的核心,oc程序都围绕着类进行

6、类和对象有什么不同 类是抽象的概念,对现实生活中事物的描述,比如说:”人” 对象是一个你能看的见的具体实体,也就是事物实实在在存在的个 体。 类与对象的关系图 类与对象的关系图 对象的属性和方法 列出尼古拉斯.凯奇驾驶的这辆法拉利F360 Spider的属性和方法 列出小狗对象的属性和方法 属性: 品牌:法拉利 型号:F360 Spider 颜色:黄色 价格:380万元 方法: 发动 停止 加速 属性: 颜色:白色 方法: 叫 跑 吃 总结:类和对象的区别 定义类 定义一个类的步骤 1、定义类名 2、编写类的属性-实例变量 3、编写类的行为-方法 类的申明和实现 OC类的声明 类的声明放在“类

7、名+.h”文件中。 如:Person.h文件。 类的声明主要有两部分组成:实例变量和方法 用interface来申明一个类,冒号表示继承 关系,冒号后面的是类的父类。 NSObject是所有类的父类。 end 关键字结束。 实例变量 实例变量可以使用OC语言中的任何数据 类型(包括基本类型和指针类型) 在声明实例变量的时候不能为其初始化, 系统默认会初始化。 实例变量的默认作用范围是整个类以及 子类。 OC的方法声明 类的实现 implementation Person -(int)Identify -(id)initWithAge:(int) age identify: (int) Iden

8、tify return identify; if(self = super init) -(int)Age _age =age; return age; _identify =identify; -(void) setAge: (int) age return self; age = _age; end end 对象的创建和使用 OC中对象通过指针来声明。如:Person*person; OC中对象的创建,使用alloc来创建一个对象。编译器会给对象分 配一块可用的内存地址。然后需要对对象进行初始化即调用init方 法,这样这个对象才可以使用。如: 方法嵌套的形式来调用,如: OC中方法的调用

9、 OC语言中采用特定的语言调用类或者实例(对象)的方法称为发送 消息或方法调用。 对象名 方法名; set方法和get方法 set方法和get方法是用来访问和修改类里面的属性值。 set方法是对某一个属性设值。 get方法是获取某一个属性值。 OC里面的命名规范get方法名不需要加get前缀。 设置器与访问器 设置器:设置、修改对象中某一个实例变量的值 访问器:访问对象某一个实例变量的值 课堂练习1 1定义一个汽车类Car,它具有两个属性,名称(name)和速度 (speed).还有一个加速方法,该方法实现就打印“XX汽车启 动了,时速为XXX”. 汽车类 属性: 名称(name) 速度(sp

10、eed) 方法: 启动方法:打印“XX汽车启动了,时速为xxx” 课堂练习2 定义一个管理员Manager的类 定义其属性:username(用户名)和password(密码) 为两个属性添加set和get方法。 设计一个修改密码的方法changePassword,调用效果如下 对象的初始化 对象必须先创建,然后初始化,才能使用。 NSObject *object = NSObject allocinit; 首先为对象分配内存地址,为初始化做准备。初始化是对象创建 过程中将新分配对象的状态设置为合理的初始值、使之处于可用 状态的阶段。通过约定,我们要求初始化方法以init开头,并且在 成功完成

11、初始化后,返回当前对象,如果失败则返回nil. 自定义初始化方法,可以传入参数 自定义初始化方法的实现 -(id)initWithAge:(int)age self =super init; if (self !=nil) _age =age; return self; 调用自定义初始化方法 约定俗称的命名规则 类名首字母大写 变量名和方法名首字母小写 使用驼峰表示 self 和super 关键字 self 指的是类的对象本身 super 是父类对象本身 self 用来调用本类对象的方法 super 调用从父类继承下来的方法 课堂练习3 定义一个书籍类Book,具有属性:名称(title)、页

12、数(pageNum), 要求这两个属性,通过初始化方法设置。定义一个方法 showDetail,用来在控制器台打印该书籍对象的信息。 点语法的调用 点语法 设置属性值 点语法 访问属性值 课堂练习4 修改之前的练习,通过点语法访问属性和修改属性, 验证是否调用set和get方法。 命名规则和文件的组织 命名规则 变量的命名和C语言相同 类的命名,首字母大写,如ClassA 方法的名,首字母小写,如thisIsMethod 文件的组织 课堂练习5 设计如下两个类Person和Dog,狗有一个自定义初始化 方法,可以传入狗的名字和颜色 Person有一个遛狗的方法,可以传入一个时间值,9点 带狗出去跑,10点带狗玩捡球的游戏,11点逗狗叫。 (直接打印“带狗出去跑”后面两个类似) Person 属性:名字 方法:遛狗 Dog 属性:狗的名字、颜色 方法:跑、捡球、叫 今日作业 1、创建一个人的类(Person),这个人有名字、年龄、体重、并且可 以设置和获取以上属性。 2、设计一个Rectangle这样一个类(矩形)。允许用户输入其边长,计 算出该矩形的面积和周长。 3、设计如下几个类,Car自定义初始化方法,初始化方法传入引擎 对象和车灯对象。当车启动的时候,会调用引擎转动,车灯亮灯, 当车停止的时候调用引擎停止转动,车灯熄灭。 汽车(Ca

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论