首页 技术 正文
技术 2022年11月20日
0 收藏 654 点赞 4,946 浏览 1425 个字

一 实例方法可见度,方法1.实例变量的可见度可见度                                                                       特点public(公有的)                                              实例变量可以在类的外部和内部操作 protected(受保护的,默认的)                         实例变量只能在该类和其子类内操作  private(私有的)                                               实例对象只能在该类内访问注:所谓的内部,指的是相应类的@implementation 和 @end 之间 思考:为什么不使用@public 关键字:1.使用@ public 关键字,暴露了类内部的细节.2.不符合面向对象语言的三大特性之一 __封装  二 .OC中的方法分两种:类方法和实例方法1.类方法:只能类使用,例如:+(id)alloc   注意:类方法中不能使用实例变量 实例方法:只能对象使用,例如:- (void)sayH;2.[person sayHi];在 OC 中没有”student 调用 sayHi”这种表述在 OC 中使用消息发送机制:[ receiver   message ];正确表述:给 student 对象发送 sayHi 消息.a.student 接收到消息,即方法 sayH;b. student 找到 sayHi 方法,并执行.3.” : “ 标示参数,不能省略.有冒号必须有参数.4.setter,getter 的书写格式.OC 里规定了 setter 和getter 的书写格式.如果一个实例变量是 int age ;或者 int _age; setter 的书写格式如下: – (void)setAge:(int)age; 即 set+ 首字母大写的实例变量名(忽略下划线).getter 的书写格式如下:- (int)age; 即返回值类型与变量类型一致,方法名由于实例变量名相同(忽略下划线) 三.与实例变量的关系无论是 setter 还是 getter 内部操作的都是实例变量每一个实例变量都需要一对 setter 和 getter 方法四:自定义初始化方法- (id)init 这个初始化方法只能给实例变量设置默认值,不灵活.- (id)initWithName: 自定义初始化方法,根据需求定义初始化方法. 示例:- (id)initWithName:(NSString *) name sex:(NSString *)sex;- (id)initWithName:(NSString *)name sex:(NSString *)sex{ _name = name;_sex = sex;return self; }五.  #import 导入头文件,即:导入头文件中的内容到当前类.#import “” 导入自定义类,# import<> 导入类库中的头文件.功能类似于 C 语言中的# include, 但是可以避免头文件被重复导入 容易出现循环导入头文件问题 六:@ class告诉编译器@ class 后的字符串作为类名使用,并未导入类的接口内容.有效避免嵌套循环导入. 总结:a. 实例变量有三种常见的可见度: @public, @protected,@privateb.@public 违背了封装特性,面向对象开发中很少使用;@protected 默认可见度,自己和子类中能使用 —>访问实例变量;@ private 自己类中能使用—>访问实例变量.c. 方法是 OC 的核心,采用消息机制:[ receive message].“-“message 由对象来调用;“+”message 由 类来调用.

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,028
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,518
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,365
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,146
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,780
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,857