OC语言关于类和对象的初步认识
2014-08-04 22:45
253 查看
一.实例变量的可见度:一共有三种(@public,@protected以及@private)
1.他们之间的区别:
@public:在任何文件中都可以访问,(访问方式是通过对象 +指向操作符+实例变量,例如:per->name)
@protected:受保护的,有一定的访问权限,只允许在本类文件以及子类文件中访问,其他文件不可以访问.
@private:私有的,只允许在本类文件中访问,不可以在子类文件以及其他文件中访问
2.其中系统默认的可见度为@protected,为什么不是@public和@private呢?其原因如下:
为什么不声明为@public?
1.声明@public的实例变量,外部就可以访问和修改,会影响内部的一个实现,暴露实现细节
2.违背了OC面向对象三大特性之一----封装.(封装的思想是影藏内部实现,提供外接访问的借口)
为什么不声明为@private?
1.声明为@pravate的实例变量,子类文件访问不到,所以子类文件还需要重新定义声明
2.违背了OC面向对象特性之一-----继承.(父类有的东西,子类也有,可访问)
二.设置器和访问器
1.设置器和访问器又称为setter方法和getter方法;
2.setter方法的特点:
(1)他们都以减号方法开始;
(2)返回值都为空;
(3)只有一个参数.
三.循环导入问题
1.产生原因:
#import头文件时,会将头文件的内容复制一份,而当使用被导入的这个类时,该类还未定义,所以识别不了,典型的循环导入问题.
2.解决方案:
使用该类时不能把它当做一个类来使用,所以在.h文件中使用@class+要被导入的类名;将要被导入的类名命名为一个字符串再使用,但是它不具备类中的内容,所以需要在.m文件中#import
"要被导入的类名.h"导入头文件
四.类的嵌套使用
自我感觉类的嵌套使用就是一个类中的对象的类型是另一个类,然后把另一个类的类名当作类型名来使用,就和普通的NNString等变量的用法一样,然后普通对象那样进行操作即可.
1.他们之间的区别:
@public:在任何文件中都可以访问,(访问方式是通过对象 +指向操作符+实例变量,例如:per->name)
@protected:受保护的,有一定的访问权限,只允许在本类文件以及子类文件中访问,其他文件不可以访问.
@private:私有的,只允许在本类文件中访问,不可以在子类文件以及其他文件中访问
2.其中系统默认的可见度为@protected,为什么不是@public和@private呢?其原因如下:
为什么不声明为@public?
1.声明@public的实例变量,外部就可以访问和修改,会影响内部的一个实现,暴露实现细节
2.违背了OC面向对象三大特性之一----封装.(封装的思想是影藏内部实现,提供外接访问的借口)
为什么不声明为@private?
1.声明为@pravate的实例变量,子类文件访问不到,所以子类文件还需要重新定义声明
2.违背了OC面向对象特性之一-----继承.(父类有的东西,子类也有,可访问)
二.设置器和访问器
1.设置器和访问器又称为setter方法和getter方法;
2.setter方法的特点:
(1)他们都以减号方法开始;
(2)返回值都为空;
(3)只有一个参数.
三.循环导入问题
1.产生原因:
#import头文件时,会将头文件的内容复制一份,而当使用被导入的这个类时,该类还未定义,所以识别不了,典型的循环导入问题.
2.解决方案:
使用该类时不能把它当做一个类来使用,所以在.h文件中使用@class+要被导入的类名;将要被导入的类名命名为一个字符串再使用,但是它不具备类中的内容,所以需要在.m文件中#import
"要被导入的类名.h"导入头文件
四.类的嵌套使用
自我感觉类的嵌套使用就是一个类中的对象的类型是另一个类,然后把另一个类的类名当作类型名来使用,就和普通的NNString等变量的用法一样,然后普通对象那样进行操作即可.
相关文章推荐
- 黑马程序员-OC的类和对象的初步认识
- 黑马程序员——OC的初步认识,类和对象
- 关于javascript语言的继承、面向对象问题的文章
- 由浅入深CIL系列:1.初步认识CIL通用中间语言
- C++基础学习笔记----第十一课(类的静态成员、对象模型初步认识)
- 关于cgi的初步认识推荐两篇博文
- 关于对centos bash_profile的初步认识
- 面向对象思想 - 关于对象(材料来自thinking in Java,这些东西是跟C#相通的,跟语言无关)
- 黑马程序员-5-Objective-C学习笔记(OC的初步认识)
- 关于对JSP中四种范围对象的作用域的认识
- 关于编程语言学习的初步认识
- OC初步认识
- 由浅入深CIL系列:1.初步认识CIL通用中间语言
- 关于用户体验的初步认识
- 关于Lancher的初步认识
- 面向对象初步认识
- 关于stream的初步认识
- 脚本语言之Lua与Windows批处理的初步认识
- 关于ipconfig中setclassid的初步认识
- 关于异步的初步认识