【IOS学习笔记(一)】IOS中.h和.m文件中的变量和方法
2015-01-22 22:33
309 查看
楼主2年前曾做过IOS项目,当时工作繁忙没有时间记录下所学的点点滴滴,现在楼主打算重新学习,特此写下一些IOS的相关知识。
IOS与C++一样,拥有.h头文件和.m文件。在C++中一切变量和函数声明都定义在.h文件中,这一点IOS与此相似却也有些不同。
IOS头文件定义变量的地方有两处:@interface的{ }里面和外面。在与头文件对应的.m文件中的使用是没有什么区别的,直接使用即可,主要区别在于外部调用。
写在@interface的{ }里面的变量只能在本类和子类(派生类)中使用,相当于C++中的保护型(protect)。
而写在@interface的{ }外面的变量可以在任何类中使用,相当于C++中的公有型(public)。
方法的定义就相对简单,带有“-”号的方法只能在本类和子类(派生类)中使用,相当于C++中的保护型(protect)。
带有“+”号的方法可以在任何类中使用,相当于C++中的公有型(public)。
但是,IOS对于开发者使用公有型(public)变量和方法做了十分谨慎的限定,公有型的变量有@property属性进行引用计数和内存限制(这个以后再讲)。而带有“+”号的公有型方法还有static的属性,可以直接使用类名进行调用。
C++中的私有型(private)与保护型和公有型的变量(方法)区别在于无法被外部调用,因此IOS做了个巧妙的方法加以区别,将私有型变量(方法)放入.m文件中定义。
在.m文件的开始处有一个@interface定义,写在{
}里面的变量就是本类的私有型(private)变量。在{ }外面是不能再定义变量只能定义方法,这里定义的方法也是私有型的。
理论讲解到这里结束,下面我们来测试一下。
博主定义了一个Test1类继承于Test类,因此在Test的.h头文件中定义的变量a,b,c和方法add()、add1()都可以调用,而在.m定义的变量d和方法add2()却无法调用。
在testFather方法中无论使用什么方法都无法调用到变量d和方法add2,提示无法找到变量d和方法add2。
至此结束,欢迎大家指正,交流学习。
IOS与C++一样,拥有.h头文件和.m文件。在C++中一切变量和函数声明都定义在.h文件中,这一点IOS与此相似却也有些不同。
IOS头文件定义变量的地方有两处:@interface的{ }里面和外面。在与头文件对应的.m文件中的使用是没有什么区别的,直接使用即可,主要区别在于外部调用。
写在@interface的{ }里面的变量只能在本类和子类(派生类)中使用,相当于C++中的保护型(protect)。
而写在@interface的{ }外面的变量可以在任何类中使用,相当于C++中的公有型(public)。
方法的定义就相对简单,带有“-”号的方法只能在本类和子类(派生类)中使用,相当于C++中的保护型(protect)。
带有“+”号的方法可以在任何类中使用,相当于C++中的公有型(public)。
但是,IOS对于开发者使用公有型(public)变量和方法做了十分谨慎的限定,公有型的变量有@property属性进行引用计数和内存限制(这个以后再讲)。而带有“+”号的公有型方法还有static的属性,可以直接使用类名进行调用。
C++中的私有型(private)与保护型和公有型的变量(方法)区别在于无法被外部调用,因此IOS做了个巧妙的方法加以区别,将私有型变量(方法)放入.m文件中定义。
在.m文件的开始处有一个@interface定义,写在{
}里面的变量就是本类的私有型(private)变量。在{ }外面是不能再定义变量只能定义方法,这里定义的方法也是私有型的。
理论讲解到这里结束,下面我们来测试一下。
博主定义了一个Test1类继承于Test类,因此在Test的.h头文件中定义的变量a,b,c和方法add()、add1()都可以调用,而在.m定义的变量d和方法add2()却无法调用。
在testFather方法中无论使用什么方法都无法调用到变量d和方法add2,提示无法找到变量d和方法add2。
至此结束,欢迎大家指正,交流学习。
相关文章推荐
- IOS 学习笔记 读懂常见的的一些方法和变量1
- Linux学习笔记_终端提示符编辑方法(set查看环境变量,.bashrc文件)
- 『iOS学习笔记』 - 变量 属性 方法 实现
- 学习笔记:病毒感染PE文件的基本方法
- android 入门学习笔记 取得文件架构、打开文件、判断文件MimeType 的方法
- IOS学习笔记2—Objective C—类、属性、方法
- PHP学习笔记【15】--全局变量,静态变量,静态方法,php方法重载
- IOS学习笔记2—Objective C—类、属性、方法
- Python学习笔记-XML大文件的XSD验证方法
- ios学习笔记之 类变量与实例变量区别
- iOS学习笔记17—NSFileHandle 诸多方法理解
- 学习笔记5 变量、常量、排序方法
- 【黑马程序员】连接字符串放在配置文件中方法(学习笔记)
- IOS学习笔记 ­­­­­­— UITextField 输入完毕关闭键盘方法
- IOS学习笔记22—文件操作(NSFileManager)结合相册小例子
- debian学习笔记--profile文件相接(环境变量讲解)
- ios学习笔记之四种数据持久化方法
- 终极ios学习笔记1.0.2-ios无法加载项目内资源文件
- IOS学习笔记22—文件操作(NSFileManager)结合相册小例子
- iOS学习笔记<20> iOS中的GCD多线程模型 & ios事件的通知方法