OC第二节 继承、初始化⽅法、便利构造器
1、什么是继承:将公有的实例变量和⽅法写在⽗类⾥⾯,⼦类只需要写⾃⼰独有的实例变量和⽅法即可。
2、继承的特点:
(1)、没有⽗类的类称为根类,NSObject ;
(2)、继承的上层⽗类、继承的下层⼦类;
(3)、继承的内容为⽗类中所有的实例变量和⽅法,但是私有的实例变量不能访问;
(4)、继承是单向的,不能相互继承;
(5)、继承具有传递性,A继承于B,B继承于C,那么A具有B和C所有的实例变量和⽅法;
(6)、如果⼦类不满⾜⽗类中某个⽅法的实现,可以重写⽅法;
(7)、⼀个类的⽗类只有⼀个,但是⼀个类的⼦类可以有多个。
3、self如果出现在类⽅法中代表本类,如果self出现在对象⽅法中,代表的是外界执⾏此⽅法的对象。super是⼀个编译器指令,不是对象,想super发送消息,会执⾏⽗类中的⽅法。
4、初始化⽅法是实例⽅法,返回值是 instancetype,参数个数可以⾃⼰给定,并且以init开头。
5、初始化⽅法内部有三步。
第⼀步,向super发送初始化消息,将从⽗类中继承过来的实例变量进⾏初始化。
第⼆步,初始化⾃⾝的实例变量。第三部,将完成初始化之后的对象返回出去。
6、便利构造器封装了alloc、初始化⽅法,是类⽅法,返回值类型为本类实例对象,⽅法名以类名开头,参数个数由⾃⼰指定。