第三课:Objective-C的类、对象和方法_第1页
第三课:Objective-C的类、对象和方法_第2页
第三课:Objective-C的类、对象和方法_第3页
第三课:Objective-C的类、对象和方法_第4页
第三课:Objective-C的类、对象和方法_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

鹏越教育IOS企业级系列课程2.0第三课Objective-C的类、对象和方法版权所有:郑州鹏越教育IOS培训中心主要内容编译并解释第一个程序显示变量的值什么是对象类的实例和方法@interface@implementationprogram实例变量及数据封装

第一个应用程序

运行按钮程序入口预处理文件类库代码区运行结果属性查看UI控件代码解释

////main.m//HelloWorld////Createdbyredmuon13-4-12.//Copyright(c)2013年honry.Allrightsreserved.//#import<Foundation/Foundation.h>intmain(intargc,constchar*argv[]){ @autoreleasepool{ //insertcodehere... NSLog(@"Hello,World!"); } return0;}“//”注释标记大小写敏感注释处理使用“//”作为标记,还可以使用“/*”和“*/”标记导入文件信息Main方法,程序的入口;argv[],传入参数;“{”,方法体自动释放池,保留空间常量字符串对象程序正常结束学习的第一个方法:NSLogNSLog定义在NSObjCRuntime.h中,用于文字输出。可以如下面的方法使用NSLog的全部格式

什么是NSLog?NSLog(@"thisisatest");NSLog(@"stringis:%@",string);NSLog(@"x=%d,y=%d",10,20);%@对象%d,%i整数%u无符整形 %f浮点/双字%x,%X二进制整数 %o八进制整数%zusize_t %p指针%e浮点/双字(科学计算) %g浮点/双字%sC字符串 %.*sPascal字符串%c字符 %Cunichar%lld64位长整数(longlong) %llu无符64位长整数%Lf64位双字对象对象:人们要进行研究的任何事物。面向对象:一种对现实世界理解和抽象的方法。关键特点:对象是抽象的,不是具体的对象是概念,不是实体类:描述了一组具有相同特性(属性)和相同行为(方法)的对象

什么是对象?什么是类实例和方法类的独特存在就是一个实例。对实例执行的操作名即为方法。Objective-C调用类和实例的应用方法更多例子

[ClassOrInstancemethod];[yourCarprep];[yourCardrive];[yourCarwash];[yourCargetGas];定义一个类(一)简单的写法(不以类定义)

intmain(intargc,constchar*argv[]){@autoreleasepool{

intnumerator=1;intdenominator=3;

NSLog(@"这个分数为%i/%i",numerator,denominator);

}return0;}这样的写法有什么缺点?定义一个类(二)以类的方式

//----@interfacesection----@interfaceFraction:NSObject-(void)print;-(void)setNumerator:(int)n;-(void)setDenominator:(int)d;@end接口定义部分//----@implementationsection----@implementationFraction{intnumerator;intdenominator;}-(void)print{NSLog(@"%i/%i",numerator,denominator);}-(void)setNumerator:(int)n{numerator=n;}-(void)setDenominator:(int)d{denominator=d;}@end实现部分intmain(intargc,constchar*argv[]){@autoreleasepool{

Fraction*myFraction;//创建一个Fraction实例

myFraction=[Fractionalloc];myFraction=[myFractioninit];//设置fraction的分子和分母

[myFractionsetNumerator:1];[myFractionsetDenominator:3];//显示内容

NSLog(@"myFraction的值是:");[myFractionprint];}return0;}Program部分定义类的步骤

1定义@interface部分2定义@implement部分@interface:1、通知编译器本类的父类2、描述类的属性成员3、定义类的方法或操作4、类成员规则:名称必须以字母或下划线(一)开头,之后可以是任何(大写或小写)字母、下划线或者0到9之间的数字组合。合法的成员命名:

非法的成员命名Sum sum$valuepieceFlag pieceflagi 3SpencermyLocation intnumberOfMovessysFlagchessBoard企业开发时的命名规则:1、头字母小写2、有意义的英文名称3、不要使用拼音作为变量名称4、boolean变量以isXxxx、hasXxxx方式书写5、以注释的方式说明变量含义-(void)setNumberator:(int)n方法类型返回类型方法名方法接收的参数参数类型参数名方法定义:企业开发时的方法命名规则:1、头字母小写2、区别类方法和实例方法的使用时机(工具类采用类方法,对象类采用实例方法)3、不要使用拼音作为方法名称@implement1、在@interface声明方法,在@implement中定义这些方法2、如果使用了合成存取方法,定义对应属性3program部分main方法,程序开始的地方实例变量的访问与数据封装实例方法可以访问实例变量,类方法则不能访问实例变量为什么要通过实例方法访问实例变量?避免实例变量不受控制的改变

总结一个程序的完整结构@interface、@implement的使用和含义对象和类的概念类成员的声明实例变量和实例变量的访问

练习下列名称中,哪些不合法?假设你有一艘船,一辆摩托车和一辆汽车,列出每个对象可能执行的操作,中间有无重叠?设计一个Vehicle的

温馨提示

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

评论

0/150

提交评论