A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

1、继承:派生类继承基类
2、基类和派生类的关系
派生类不但拥有积累的方法和属性,还拥有新增的方法和属性。
注意:
1)、基类的私有属性能被继承,不能被访问
2)、OC的继承是单继承,即一个类只能是一个父类,不能继承多个父类
3)、继承的合理性
3、方法的重写
把父类的方法重写在子类中实现,做子类该做的事。用子类调用父类的重写方法时,先调用自己类中的重写方法,若自己类中无该方法,就找父类的方法,父类还没有,就找父类的父类,还没有就往上找,直到找到基类(NSObject)为止。
4、基类继承的注意事项
1)、子类不能定义和父类同名的变量,但是可以继承父类的对象。
2)、OC类支持单一继承,不支持多继承
3)、OC类支持多层继承
5、变量的修饰符在子类的访问
变量的修饰符;public, private, protected
@public类型的变量在子类中正常访问和使用
@protected类型的变量在子类中使用,不能在其他类中使用
@private类型的变量,可以被子类继承,但是不能访问。(因为子类可以继承父类的所有的实例变量和方法,但是不能访问父类的private类型的变量和方法)
5、实例变量作用域使用注意事项
1)、在@interface  @end之间声明的成员变量不做特别的说明,其默认是protected的
2)、一个类继承另一个类,就拥有了父类的所有成员变量和方法,但是私有类型的不能访问
6、OC类中的私有变量
在类的 .m文件中声明的变量为@private,只能在当前类中使用,不能被子类继承,也不能访问。
7、OC类中的私有方法
私有方法:在类的 .h 中没有声明,在 .m中实现此方法为私有方法。
注意: .h文件可以看做是对外的一个接口。
私有方法不能被子类继承和访问,当前类不能访问私有方法。但是可以用当前类的其他方法用self或者是创建类来访问私有方法。
例:
   //test方法是类Person的私有方法
       -(void)test{
            NSLog(@"test");
         }
   //run方法是类Person的共有方法
       -(void)run{
           NSLog(@"人在跑");
           //第一种:通过eslf访问私有方法test
           [self test];
           //第二种:通过创建类Person的对象来访问私有方法test
           Person  *p1=[Person new];
           [p1  test];//类Person访问私有方法test
}

6 个回复

倒序浏览
分类总结了,又学习了
回复 使用道具 举报
学习学习
回复 使用道具 举报
学习了。。。。
回复 使用道具 举报
eslf,比较注重细节的我
回复 使用道具 举报
有一些人,他们赤脚在你生命中走过,眉眼带笑,不短暂,也不漫长。却足以让你体会幸福,领略痛楚,回忆一生。


回复 使用道具 举报
谢谢你很受用!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马