收藏 分销(赏)

OC类、对象、方法.pptx

上传人:精*** 文档编号:12662830 上传时间:2025-11-20 格式:PPTX 页数:42 大小:5.43MB 下载积分:8 金币
下载 相关 举报
OC类、对象、方法.pptx_第1页
第1页 / 共42页
OC类、对象、方法.pptx_第2页
第2页 / 共42页


点击查看更多>>
资源描述
#,Objective,-C,语法学习,主讲:茹转,第一节,OC,面向对象之,类、对象和方法,本节学习内容,1,、,Objective-C,语言概述,2,、掌握类和对象的特征,3,、创建对象,方法调用,4,、自定义初始化方法,5,、点语法的使用,ObjectiveC,语言概述,Objective,C(,简称,OC),是,iOS,开发的核心语言,OC,是在,C,语言的基础上,对,C,语言进行了封装,增加了面向对象语法,iOS,开发也兼容,C,语言、,C+,混编,第一个,OC,程序,打开,Xcode,新建项目,打开,Xcode,,新建项目,选择最简单的命令行项目,创建新项目,项目界面,编译后的路径,C,语言的源文件拓展名,”.c”,OC,的源文件拓展名为,”.m”,OC,中使用,NSLog,函数打印输出,编译器会将,.m,文件编译为,.o,目标文件,比如说,main.m,编译成功后会变成,main.o,文件,目标文件:,/Users/apple/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.HelloWorld-dmqifpdlqagsxpgjhoywmkgrbyij/Build/Products/Debug,编译后的路径,:/Users,/apple/Library/Developer/Xcode/,DerivedData/,面向过程、面向对象,面向过程与面向对象都是一种编程思想,什么是面向对象,(1,),面向对象就是用计算机语言来模拟显示真实世界里的物体,然后用编程逻辑来组织对象处理问题,(,2),面向对象是现实世界模拟的自然延伸,现实世界中的任何物体,都可以看作是对象,。,(,3),对象之间通过消息相互作用,另外,现实,世界中任何实体都可以归属于某类,事物,任何对象都是某一类事物的实例,2.,面向对象的优点,1,),传统编程语言,:,程序,=,算法,+,数据,2,),面向对象编程语言,:,程序,=,对象,+,消息,3,),结构清晰,维护简单,可扩展性,代码重用,3,.,面向对象的三个特点,(1,),封装,1,封装是一种信息隐藏技术,它体现于对类的说明,是类的重要特性,2,封装就是把客观事物封装成抽象的类,(2,),继承,1,继承是子类自动共享父类数据和方法的机制,2,继承的过程就是从一般到特殊的过程,3),多态,对象根据所接,收的消息而做出不同的动作,举例,去西藏旅游,面向过程,:我购买自行车,然后用脚去踏车的踏脚板,轮子开始转,骑了,10,米,,100,米,,10,公里,,100,公里,然后经过湖北,四川到达西藏。,面向对象,:我让自行车转动,然后就到达了西藏,常用类型,类和对象,什么是类,1),类是对象的模板,是对实,体的一个描述,2,),类是,oc,的核心,oc,程序都围绕着类进,行,类和对象有什么不同,类是抽象的概念,对现实生活中事物的描述,比如说:,”,人,”,对象是一个你能看的见的具体实体,也就是事物实实在在存在的个体。,类与对象的关系图,类与对象的关系图,对象的属性和方法,列出尼古拉斯,.,凯奇驾驶的这辆法拉利,F360,Spider,的属性和方法,列出小狗对象的属性和方法,属性:,品牌:法拉利,型号:,F360,Spider,颜色:黄色,价格:,380,万元,方法:,发动,停止,加速,属性:,颜色:白色,方法:,叫,跑,吃,总结:类和对象的区别,定义类,定义一个类的步骤,1,、定义类名,2,、编写类的属性,-,实例变量,3,、编写类的行为,-,方法,类的,申明和实现,OC,类的声明,类的声明放在“类名,+,.,h,”文件中。,如:,Person.h,文件。,类的声明主要有两部分组成:,实例变量,和,方法,用,interface,来申明一个类,冒号表示继承,关系,冒号后面的是类的父类。,NSObject,是所有类的父类。,end,关键字结束。,实例变量,实例变量可以使用,OC,语言中的任何数据类型,(,包括基本类型和指针类型,),在声明实例变量的时候不能为其初始化,系统默认会初始化。,实例变量的默认作用范围是整个类以及子类。,OC,的方法声明,类的实现,implementation,Person,-,(,int)Identify,-,(id)initWithAge,:,(int),age,identify:,(int),Identify,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,中方法的调用,OC,语言中采用特定的语言调用类或者实例,(,对象,),的方法称为发送消息或方法调用。,对象名 方法名,;,s,et,方法和,get,方法,set,方法和,get,方法是用来访问和修改类里面的属性值。,s,et,方法是对某一个属性设值。,get,方法是获取某一个属性值。,OC,里面的命名规范,get,方法名不需要加,get,前缀。,设置器与访问器,设置器:设置、修改对象中某一个实例变量的值,访问器:访问对象某一个实例变量的值,课堂练习,1,1,定义一个汽车类,Car,它具有两个属性,名称,(name),和速度,(speed).,还有一个加速方法,该方法实现就打印“,XX,汽车启动了,时速为,XXX,”,.,汽车类,属性:,名称,(name),速度,(speed),方法:,启动方法:打印“,XX,汽车启动了,时速为,xxx,”,课堂练习,2,定义一个管理员,Manager,的类,定义其属性:,username,(用户名,),和,password(,密码,),为两个属性添加,set,和,get,方法。,设计一个修改密码的方法,changePassword,调用效果如下,对象的初始化,对象必须先创建,然后初始化,才能使用。,NSObject,*,object,=,NSObject,allocinit;,首先为对象分配内存地址,为初始化做准备。初始化是对象创建过程中将新分配对象的状态设置为合理的初始值、使之处于可用状态的阶段。通过约定,我们要求初始化方法以,init,开头,并且在成功完成初始化后,返回当前对象,如果失败则返回,nil.,自定义初始化方法,可以传入参数,自定义初始化方法的实现,-(id)initWithAge:(int)age,self=super init;,if(self!=nil),_age=age;,return self;,调用自定义初始化方法,约定俗称的命名规则,类名,首字母大写,变量名和方法名首字母小写,使用驼峰表示,self,和,super,关键字,self,指的是类的对象本身,super,是父类对象本身,self,用来调用本类对象的方法,super,调用从父类继承下来的方法,课堂练习,3,定义一个书籍类,Book,具有属性:名称,(title),、页数,(pageNum),要求这两个属性,通过初始化方法设置。定义一个方法,showDetail,用来在控制器台打印该书籍对象的信息。,点语法的调用,点语法,设置属性值,点语法,访问属性值,课堂练习,4,修改之前的练习,通过点语法访问属性和修改属性,验证是否调用,set,和,get,方法。,命名规则和文件的组织,命名规则,变量的命名和,C,语言相同,类的命名,首字母大写,如,ClassA,方法的名,首字母小写,如,thisIsMethod,文件的组织,课堂练习,5,设计如下两个类,Person,和,Dog,,狗有一个自定义初始化方法,可以传入狗的名字和颜色,Person,有一个遛狗的方法,可以传入一个时间值,,9,点带狗出去跑,,10,点带狗玩捡球的游戏,,11,点逗狗叫。,(,直接打印“带狗出去跑”后面两个类似,),Person,属性:名字,方法:遛狗,Dog,属性:狗的名字,、,颜色,方法:跑,、,捡球,、,叫,今日作业,1,、,创建一个人的类,(Person),这个人有名字、年龄、体重、并且可以设置和获取以上属性。,2,、设计一个,Rectangle,这样一个类,(,矩形,),。允许用户输入其边长,计算出该矩形的面积和周长。,3,、设计如下几个类,,Car,自定义初始化方法,初始化方法传入引擎对象和车灯对象。当车启动的时候,会调用引擎转动,车灯亮灯,当车停止的时候调用引擎停止转动,车灯熄灭。,汽车,(Car),属性:,名字,(name),车牌号,(licence),引擎,(engine),车灯,(lamp),方法:,启动,(run),停止,(stop),引擎,(Engine),属性:,型号,(model),排量,(capacity),方法:,转动,(turn),停止转动,(stopTurn),车灯,(Lamp),属性:,瓦数,(wattage),方法:,亮,(light),熄灭,(dark),下节预告,OC,面向对象之,封装、,继承和多态,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服