ps做的网站模板,angularjs 做电商网站,合肥百度关键词排名,购物链接为什么80%的码农都做不了架构师#xff1f; ⼀、实例变量可⻅度 public 在类的外部和内部均可访问 protected(默认) 只能在该类和其⼦类内访问 private 只能在该类内访问 ⼆、⽅法#xff08;定义、声明、调用#xff… 为什么80%的码农都做不了架构师 ⼀、实例变量可⻅度 public 在类的外部和内部均可访问 protected(默认) 只能在该类和其⼦类内访问 private 只能在该类内访问 ⼆、⽅法定义、声明、调用 OC中的方法分两种类方法、实例方法 同一个类中所有的方法中不能出现重名 方法的声明 - (返回值类型)方法名:(参数类型1)参数名1 修饰词:(参数类型2)参数名2 - (paraType)methodName:(paraType)paraName1 descripName:(paraType)paraName2 方法的调用 类方法 只能类调用 [class_name class_method_name]; 类方法中不能使用实例变量调用类方法时没有创建对象 (void)sayHi; 实例方法 - 只能对象调用 [object_name instance_method]; - (void)sayHello; 三、setter、getter setter:设置实例变量的值 - (void)setName:(type)name; getter:获取实例变量的值 - (type)name; OC2.0.setter 如果通过setter方法为对象设置初始值需通过以下方式 - (void) setOrigin: (XYPoint *) pt { if (origin) [origin release]; origin [[XYPoint alloc] init]; [origin setX: pt.x andY: pt.y]; } 原因若不alloc创建多个对象后指针指向同一内存区域修改某一个对象的origin将会改变所有对象的origin值。 四、自定义初始化方法 使用自定义初始化方法创建对象 创建对象后不能再调用初始化方法 - (id)initWithName1:(type)name1 name2:(type)name2 …; 五、类的调用 #import ClassName.h 循环调用的产生 A.h: #import B.h B.h: #import A.h 编译器执行时在#import 处出现死循环永远执行不到interface 因此所导入的类不可被识别 防止循环调用 在 .h 文件中使用 class ClassName; 告知编译器class后面的标识符是一个类 在 .m 文件中 使用 #import 导入所需类所在文件 简答题 1、实例变量的可见度有哪几种默认的是什么(中英文都要记) public protected private 2、如何对一个类的默认可见度的实例变量进行赋值和取值 gettersetter method 3、面向对象编程的三大特征 封装保证了属性与方法的关联性 继承代码复用 多态在代码复用的同时强化了个性差异 4、什么是封装 封装对外提供声明对内隐藏内部实现 5、#import有什么作用#import和#include有什么不同 #include 和 #import的区别 1include不能重复导入同一个文件 2import可以重复导入同一个文件 3现在include和import都可以重复导入 6、对象的内存分配在哪个区 堆区 7、堆区和栈区的区别(从内存的分配和回收考虑) 栈区由系统负责分配和回收 堆区由开发者负责分配和回收 8、OC中的方法有几类OC中有私有方法吗 两类类方法、实例方法 9、如何确定两个方法是否同名 10、-(id)setName:(NSString *)name :(NSString *)sex age:(int)age的方法名是什么 setName: : age: 11、定义并实现一个实例变量的setter和getter方法。 12、#import ” ”和#import 有什么区别 “” 导入用户文件 导入系统文件 13、class有什么作用#import和class有什么区别 class告知编译器系统class后面的标识符是一个类并没有导入这个类的内容 #import导入文件的内容 转载于:https://my.oschina.net/zooyf/blog/487242