OC方法和文件编译

简介: OC方法和文件编译 一、OC方法 (一)对象方法 (1)对象方法以-开头如 -(void)xx; (2)对象方法只能又对象来调用 (3)对象方法中可以访问当前对象的成员变量 (4)调用格式   [对象名  对象方法名]; (5)设计一个学生类和狗类,练习对象方法的使用。

OC方法和文件编译

一、OC方法

(一)对象方法

(1)对象方法以-开头如 -voidxx;

(2)对象方法只能又对象来调用

(3)对象方法中可以访问当前对象的成员变量

(4)调用格式   [对象名  对象方法名]

(5)设计一个学生类和狗类,练习对象方法的使用。

学生类的声明:

 

学生类的实现:

 

狗类的声明:

 

狗类的实现:

 

主程序:

 

 

(二)类方法

(1)类方法以+开头  如+voidput;

(2)类方法只能由类来调用

(3)类方法中不能访问实例(成员)变量,因为类方法又类来调用,并没有创建存储空间来存储类中的成员变量。

(4)调用格式:[类名  类方法名]

(5)类方法的好处和适用场合:

不依赖于对象,执行效率更高;

能用类方法解决的问题,尽量使用类方法;

场合:当方法内部不需要使用到成员变量时,可以改为类方法。

(6)设计一个计算器类,练习使用类方法。

计算器类的声明:

 

计算器类的实现:

 

主程序:直接使用类名调用类方法

 

注意1可以允许类方法和对象方法同名。

注意2在对象方法中可以调用类方法。

(三)方法名

(1)不带参数的方法

声明:

 

调用:

 

(2)带参数的方法

声明:

调用:

 

 

 注意:冒号也是方法名的一部分。

二、文件编译

在工作中,通常把不同的类放到不同的文件中,每个类的声明和实现分开,声明写在.h头文件中,实现写在相应的.m文件中去,类名是什么,文件名的前缀就是什么。

假设有两个类,分别是Person类和Dog类,则通常有下面五个文件:

(1)Person.h    Person类的声明文件

(2)Person.m    Person类的实现文件

(3)Dog.h Dog类的声明文件

(4)Dog.m Dog类的实现文件

(5)Main.m 主函数(程序入口)

在主函数以及类的实现文件中要使用#import包含相应的头文件。

补充:import有两个作用:一是和include一样,完完全全的拷贝文件的内容;二是可以自动防止文件内容的重复拷贝(即使文件被多次包含,也只拷贝一份)。

在使用命令行进行编译链接文件的时候,通常是把.m文件单文件编译,然后再把所有的目标文件链接,但是在Xcode中,是把所有的.m文件都进行编译链接的,如果出现重复定义的错误,那大部分问题根源应该就是文件内容被重复包含或者是包含.m文件所引起的。

源文件中不论是使用include还是import,都不能包含.m或者是.c文件,只能放声明。因此,在OC中通常把类拆分开来,拆分成声明和实现两个部分。

提示:这也是编程思想的一种体现,可以说.h.m文件时完全独立的,只是为了要求有较好的可读性,才要求两个文件的文件名一致,这也是把接口和实现分离,让调用者不必去关心具体的实现细节。

Xcode是写一行编译一行,有简单的修复功能,红色是错误提示,黄色警告。如果在程序中声明了一个变量,但是这个变量没有被使用也会产生警告信息。在调试程序的时候,如果发现整个页面都没有报错,但是一运行就错误,那么一定是链接报错。

 

目录
相关文章
|
6月前
|
Java Maven 编译器
Java编译器注解运行和自动生成代码问题之Maven编译时设置生成的源码的文件夹路径问题如何解决
Java编译器注解运行和自动生成代码问题之Maven编译时设置生成的源码的文件夹路径问题如何解决
|
C++ Windows
C++ --- Dll文件的生成与调用(二)之动态库注入技术
C++ --- Dll文件的生成与调用(二)之动态库注入技术
177 0
|
8月前
|
Java 编译器 计算机视觉
javap的使用--常用: javap -c -v 类名--javadoc 标签--javadoc 工具软件识别以下标签:
javap的使用--常用: javap -c -v 类名--javadoc 标签--javadoc 工具软件识别以下标签:
51 0
|
Java
编译JDK:Javadoc.gmk:344: *** target pattern contains no ‘%‘。 停止
编译JDK:Javadoc.gmk:344: *** target pattern contains no ‘%‘。 停止
161 0
|
Swift
Swift&OC 文件夹和文件的详细操作(下)
Swift&OC 文件夹和文件的详细操作(下)
416 0
Swift&OC 文件夹和文件的详细操作(下)
|
存储 缓存 安全
Swift&OC 文件夹和文件的详细操作(上)
Swift&OC 文件夹和文件的详细操作
1008 0
Swift&OC 文件夹和文件的详细操作(上)
|
Oracle Java 关系型数据库
无法使用 javadoc 等命令?
谈到 Java 就离不开 JRE(Java Runtime Environment),JDK(Java Development Kit) 中包含了 JRE 和 JVM(Java Virtual Machine),所以我们一般直接安装 JDK,安装 JDK 首先肯定是去Oracle官网下载适合自己的开发版本,然后将 JDK 安装到自定义位置。
无法使用 javadoc 等命令?
|
XML 数据格式 移动开发
转载 VC轻松解析XML文件 - CMarkup类的使用方法
VC轻松解析XML文件 - CMarkup类的使用方法http://www.cctry.com/thread-3866-1-1.html VC解析XML文件的工具有很多,CMarkup, tinyXML,还有IBM的,MS的等等。
845 0