首先,写每一句代码都是有目的的,而在重写init 方法中, self = [super init] 这句代码的最终目的就是对的当前对象完成一次初始化。
子类从父类中继承了所有的一切,如果使用父类的初始化方法会对所继承的父类属性进行初始化,而对于子类特有的新属性不会初始化,因此,
重写init 方法的目的之一就是可以对子类的特有属性进行初始化。并且init是对象方法,必须有对象调用,而super 则表示调用的父类的同名方法,再调用了
父类的init方法后还是返回一个已经初始化了的子类对象,然后在赋值给子类对象。要使用子类自己的init 方法,必须先有子类的对象,有了子类的对象,就有了所继承的父类属性以及子类自有的新属性(如果有定义),在调用子类的init方法,即完成了对继承的父类属性的初始化,也完成了对子类特有属性的初始化
self 实质是指针,因为表示任何对象都只能通过指针指向对象的内存地址来表示。