OC重写init方法

Posted laorenyuhail

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OC重写init方法相关的知识,希望对你有一定的参考价值。

在创建一个对象的时候我们经常会用到init方法,单单是init只能是初始化,当我们在初始化的时候想要给这个对象加上默认的东西的时候,

系统提供的init方法就不能满足我们的需要,这时,就需要我们自己去重写init方法;

通常在使用init方法的时候,系统先会在自己这个类中查询是否实现(重写)这个方法,如果没有实现,就会逐层向上面的父类查找,直到

找到实现了的init方法,其他方法的执行顺序也是这样。

1.首先创建一个Person 类和一个Car 类

技术分享图片

2.在Car类里面定义属性(我们要的效果是输出:小王有一辆红色奥迪A8 。并且在创建类的时候使用自己重写的init方法)

技术分享图片

3.在Person类中导入Car类,定义属性

技术分享图片

4.重写Car类和Person类中的init方法

技术分享图片

技术分享图片

5.创建对象进行输出

技术分享图片

技术分享图片

这样虽然初始化成功了,但是灵活性太差,我们还可以这样做,写一个initWith样式的方法

Car.h

 技术分享图片

 

Car.m

 技术分享图片

 

Main.m

 技术分享图片

 

以上是关于OC重写init方法的主要内容,如果未能解决你的问题,请参考以下文章

Objective-C学习笔记(二十二)——初始化方法init的重写与自己定义

OC中自定义init方法

iOS中的重载和重写

iOS中的重载和重写

init方法的重写与自定义

OC内存管理续