什么是多态,为什么要使用多态。
多态:父类指针指向子类对象
使用多态的原因:使用多态可以把不同的子类对象都当作父类来看,可以屏蔽不同子类对象之间的差异,写出通用的代码,做出通用的编程,以适应需求的不断变化,简化编程中复杂的逻辑,方便程序功能的实现。
Self和super的区别?
self:
self其实是个指针,谁调用了方法,self就指向谁
super:
super是指向父类的指针。super若处在对象方法中,那么就会调用父类的对象方法,super若处在类方法中,那么就会调用父类的类方法
一句话概括self和super的区别:
self指向本类,super指向父类
定义属性时候,什么情况下用copy、assign、retain、strong、week
copy: relsase旧值,copy新值,这样可以减少上下文的依赖,常用于(NSString)
assign: 直接赋值(用于非oc对象类型)
retain: release旧值,retain新值(用于非arc中的oc对象类型)(在非arc中,两端循环引用的时候,一端用retain,另一端用assign)
strong: 成员变量强指针,适用于arc中的oc对象类型
weak: 成员变量弱指针,适用于arc中的oc对象类型(在arc中,当端循环引用的时候,一端用strong,一端用assign),常用于UI控件和在一个类中创建一个delegate属性