OC语言10-构造方法

转载 2016年05月31日 13:57:17

一、构造方法

1. 构造方法的调用

完整的创建一个可用的对象:Person *p=[Person new];

New方法的内部会分别调用两个方法来完成2件事情,

1)使用alloc方法来分配存储空间(返回分配的对象);

2)使用init方法来对对象进行初始化。

可以把new方法拆开如下:

1.调用类方法+alloc分配存储空间,返回未经初始化的对象

Person *p1=[person  alloc];

2.调用对象方法-init进行初始化,返回对象本身

Person *p2=[p1 init];

3.以上两个过程整合为一句:

Person *p=[[Person alloc] init];

说明:init方法就是构造方法,是用来初始化对象的方法,注意这是一个对象方法,一减号开头。默认初始化完毕后,所有成员变量的值都为0。

2. 构造方法的代码示例

需求1,如果我需要让每个对象创建出来的初始值是10,而不是1,应该怎么办呢?

image

需求2,让学生继承人类,要求学生对象初始化之后,年龄是10,学号是1,怎么办?

image

3. 构造方法使用注意

  1. 子类拥有的成员变量包括自己的成员变量以及从父类继承而来的成员变量,在重写构造方法的时候应该首先对从父类继承而来的成员变量先进行初始化。

  2. 原则:先初始化父类的,再初始化子类的。

  3. 重写构造方法的目的:为了让对象方法一创建出来,成员变量就会有一些固定的值。

  4. 注意点:#1先调用父类的构造方法[super init]; #2再进行子类内部成员变量的初始化。

二、自定义构造方法

1. 自定义构造方法的规范

  1. 一定是对象方法,以减号开头

  2. 返回值一般是id类型

  3. 方法名一般以initWith开头

2. 自定义构造方法的代码实现

Person类的声明,其中声明了两个接收参数的自定义构造方法

image

Person类的实现

image

Student继承自Person类,声明了一个接收三个参数的构造方法
image

Student类的实现

image

测试主程序

image

3. 自定义构造方法的使用注意

  1. 自己做自己的事情

  2. 父类的方法交给父类的方法来处理,子类的方法处理子类自己独有的属性

黑马程序员之ios学习总结——10 OC语言的构造方法和分类

构造方法:用来初始化对象的方法,是个对象方法,-开头。构造方法其实就是将对象初始化的方法。以前对象的初始化都用[Person new];这里面的new方法太固定,耦合性太强,有时候没办法满足需求。其实...

黑马程序员——OC语言------id和构造方法

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- id   一、什么是id id  == NSObject * 万能指针,能指向\操作任何OC对...
  • casono1
  • casono1
  • 2015年03月19日 17:38
  • 219

黑马程序员 - OC语言 - 重写构造方法

——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-有两个方法: +alloc : (类方法)给对象分配空间的方法 -init:(对象...

OC语言--构造方法

-一、构造方法 1.什么是OC构造方法? OC构造方法是用来初始化对象时调用的方法,是个对象方法,以“-”号开头。 2.如果你先创建一个Person类,让创建后的Person类新创建的对象默认的年龄...

黑马程序员—OC语言基础—构造方法和分类

————————Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——————— 本文我们主要讨论构造方法的使用。 一、构造方法 一般我们写的 Person ...

11、黑马程序员-OC语言构造方法

一、构造方法 (一)构造方法的调用 完整的创建一个可用的对象:Person *p=[Person new]; New方法的内部会分别调用两个方法来完成2件事情,1)使用alloc方法来分配存储空间(...
  • zwcshy
  • zwcshy
  • 2014年11月30日 14:18
  • 310

IOS之OC语言构造方法

一、构造方法 (一)构造方法的调用 完整的创建一个可用的对象:Person *p=[Person new]; New方法的内部会分别调用两个方法来完成2件事情,1)使用alloc方法...
  • LCF_3_6
  • LCF_3_6
  • 2017年04月16日 19:30
  • 141

OC语言构造方法

OC语言构造方法 一、构造方法 (一)构造方法的调用 完整的创建一个可用的对象:Person *p=[Person new]; New方法的内部会分别调用两个方法来完成2件事情...

黑马程序员IOS-OC语言-构造方法

构造方法

黑马程序员——OC语言构造方法

------- Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 一、构造方法 1、构造方法的调用 完整的创建一个可用的对象:Person ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:OC语言10-构造方法
举报原因:
原因补充:

(最多只允许输入30个字)