突破Objective-C开发速学手册之面向对象编程PPT课件_第1页
突破Objective-C开发速学手册之面向对象编程PPT课件_第2页
突破Objective-C开发速学手册之面向对象编程PPT课件_第3页
突破Objective-C开发速学手册之面向对象编程PPT课件_第4页
突破Objective-C开发速学手册之面向对象编程PPT课件_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

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

文档简介

第6章面向对象编程,Objective-C语言最大的特点是面向对象。面向对象的编程又可以面向对象的程序设计,面向对象是专指程序设计中采用封装、继承、多态等设计方法。,1,.,6.1类和对象,类是对某一类对象的抽象;而对象是某一种类的实例。因此,类和对象是密切相关的。没有脱离对象的类,也没有不依赖于类的对象。本节主要讲解类的声明、定义和实例化对象等。,2,.,6.1.1类的声明和定义,类是面向对象程序设计的核心。它实际是一种新的数据类型,也是实现抽象类型的工具。因为类是通过抽象数据类型的方法来实现的一种数据类型。接下来主要讲解类的声明、定义。,3,.,1.类的声明,最简单的类的声明的一般形式。,4,.,1.类的声明,5,.,2.类的定义,类定义的一般形式。,6,.,3.创建类,类的声明和定义是不在一起的。类声明的文件叫做接口文件,以.h命名。类定义的文件叫做实现文件,以.m命名。接下来我们创建一个类。,7,.,6.1.2实例化对象,我们已经学过如何创建类啦。接下来我们队类进行实例化,类创建的对象这一过程被称为实例化。也就是声明并创建对象。实例化对象主要分为以下三个步骤。,8,.,6.1.2实例化对象,9,.,6.1.2实例化对象,10,.,6.1.2实例化对象,11,.,6.1.2实例化对象,12,.,6.1.2实例化对象,13,.,6.1.2实例化对象,14,.,6.2实例变量,我们在第二章中已经讲过变量了,变量分为局部变量和全局变量。实例变量是在类中定义的变量,可以在各个方法内部使用。本节将主要讲解实例变量的使用和变量的存储类别。,15,.,6.2.1实例变量的定义,实例变量需要在接口文件中定义即*.h文件。,16,.,6.2.2实例变量的使用,在定义好实例变量以后我们要对实例变量进行使用。,17,.,6.2.3实例变量、全局变量和局部变量的区别,在Objective-C中的变量,按作用范围可分为两种:局部变量和全局变量。我们在前几章中已经介绍过来了全局变量和局部变量。,18,.,6.2.4变量的存储类别,存储类别是数据在内存中存储的方式。存储方式分为两大类:动态存储类与静态存储类。具体包含5种:auto、static、const、extern和volatie。根据变量的存储类别,可以知道变量的作用域和生存期。,19,.,1.static,用static关键字声明的变量为静态局部变量,也成为内部变量。所谓静态变量是在每一次方法调用时,这种变量的值都保留,即在下一次函数调用时,该变量的值是上一次函数调用结束时的值。,20,.,2.extern,大家已经知道外部变量是在方法的外部定义的全局变量,它的作用域是从变量的定义处开始到程序执行结束。但是我们使用变量都必须是先定义后使用的。如果我们想在外部变量定义之前的函数中使用该外部变量,则应该使用关键字extern对变量作“外部变量声明”,表示该变量是一个已经定义的外部变量。,21,.,2.extern,22,.,3.auto,auto用于声明一个自动的局部变量,是方法内部变量的声明方式,是缺省设置。一般我们都会将其省却。,23,.,3.auto,24,.,4.const,const的作用是将变量的值声明为不可变的值,即为常数,我们在第二章中已有const做过介绍,这里就不做详细说明啦。,25,.,5.volatile,volatile修饰的变量正好和const修饰变量的作用相反。它的作用是,告诉编译器,该变量的值发生改变,它用来修饰被不同线程访问和修改的变量。我们会在以后的学习中,向大家介绍线程及volatile。,26,.,6.3方法,所谓方法是指使某种状态发生改变。方法实际就是一个函数。本节主要讲解方法的使用流程。,27,.,6.3.1方法的声明,方法的声明是在类的*.h文件中进行的,声明方法是告诉编译器该方法所使用的标识符。,28,.,6.3.2方法的实现,实现方法是指在方法的定义中编写该方法的代码,确定该方法实现的功能。所以,需要在*.m中编写方法的代码。,29,.,6.3.3对象方法的使用,根据方法的用于对象的不同,方法可分为类方法和对象方法。在方法的返回值类型前面有“-”号表示它是对象方法。,30,.,6.3.3对象方法的使用,31,.,6.3.3对象方法的使用,32,.,6.3.4类方法的使用,在方法的声明和定义我们知道选择“-”号表示它是对象方法,我们将选择“+”号,则表示类方法。接下来我们讲解类方法的使用。,33,.,6.3.4类方法的使用,34,.,6.3.4类方法的使用,35,.,6.3.5方法的参数,参数的重要性我们已在函数一章中讲过了,现在我们讲参数方法的构造。,36,.,1.一个参数的方法,声明有一个参数的方法。,37,.,1.一个参数的方法,38,.,1.一个参数的方法,39,.,2.多个参数的方法,在一个方法中可以有多个参数。,40,.,2.多个参数的方法,41,.,2.多个参数的方法,42,.,6.4属性,在objective-c中,可以使用属性来提高代码编写的速度和直观性。属性提供了便捷的设置和获取实例变量的方式。,43,.,6.4.1属性的声明和定义,属性,是专指property修饰过了的成员变量。作用在于类以外的代码访问时,可以通过属性来访问内部变量,而不能直接访问类的成员。我们可以再使用property对属性进行声明。,44,.,6.4.1属性的声明和定义,45,.,6.4.1属性的声明和定义,46,.,6.4.2带参属性,属性在声明时时可以带参数的,这些参数要用口号括起来。,47,.,6.4.3带参属性setter/getter方法(assign/retain/copy),setter和getter的名称为访问器和设置器,也成为存储器函数。它们实际上只是两个很普通的方法。只不过它们为外界提供了获取实例变量和设置实例变量的手段,有了这两种方法,所有级别的实例变量都可以直接被访问的到。,48,.,6.4.3带参属性setter/getter方法(assign/retain/copy),49,.,6.4.3带参属性setter/getter方法(assign/retain/copy),50,.,6.4.3带参属性setter/getter方法(assign/retain/copy),51,.,6.4.3带参属性setter/getter方法(assign/retain/copy),52,.,6.4.3带参属性setter/getter方法(assign/retain/copy),53,.,6.4.4带参属性读写属性,读写属性的的种类和含义。,54,.,6.4.5带参属性原子修饰,原子修饰默认是atomic。在默认的情况下,通过synthe

温馨提示

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

评论

0/150

提交评论