oc语言中的构造方法

一 构造方法的调用

完整的创建一个可用的对象: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。

二 构造方法的使用注意事项

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

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

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

(4)注意点:

        1>先调用父类的构造方法[super init];       if(self = [super init]){// 具体代码}

        2>再进行子类内部成员变量的初始化。

三 自定义构造方法

  规范:

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

    (2)返回值一般是instancetype类型

    (3)方法名一般以initWith开头

  例子:

   - (instancetype)initWithDict:(NSDictionary *)dict

    {

      if(self = [super init])

      {

        [self setValuesForKeyWithDictionary:dict];

      }

      return self;

    }

最后切记,自己的事情自己做,当然不是说你,是说这些个类,也就是说父类的事情交给父类的方法去做,子类的事情交给子类的方法去处理,也就是简单的低耦合道理。

时间: 2024-10-20 07:24:47

oc语言中的构造方法的相关文章

OC语言中的便利初始化函数和便利构造器

便利遍历初始化函数与便利构造器(以Student类为例): main函数 Student.h(声明) ................... Student.m(实现) .................

在oc语言中字符串和整型数相互转换

//整型转换字符串 进行封装 int a=100; NSNumber*intNumberA=[NSNumber NumberWithInit:a]; //字符串转换成整型 NSString*[email protected]"158"; NSInterger num1=[str1 integerValue];

OC语言中字符串的使用

可变字符串 //插入字符串 NSMutableString *string1 =[NSMutableString stringWithString:@"字符串"]; [string1 insertString:@"可变" atIndex:0];//在string的第0个位置插入 NSLog(@"string = %@",string1);//可变字符串 //删除字符串 NSMutableString *string2 = [NSMutableSt

Swift基础之调用OC语言文件使用步骤

Swift语言中,有很多封装类并没有,如果需要使用到,就需要桥接OC语言中的类,这时候就需要使用桥接头文件,一下是使用的步骤: 创建一个Swift项目Demo,然后新建一个OC语言的文件 如图: 创建一个BgImgView的类,选择对应的Object-C语言,点击Next按钮 会弹出提示框,询问是否需要配置一个桥接头文件,点击创建按钮(第三个) 这个时候会自动生成一个桥接头文件 现在开始在OC文件中添加需要使用的相关代码 .h文件 {    id _targetT;    SEL _selT;}

OC语言的特性(一)-消息传递与调用函数的表现形式

我们在初学Objective-C时,都会觉得ObjC中的消息传递和其他语言的调用函数差不多,只是在OC中,方法调用用消息传递这一概念来代替. 那么到底怎样区别OC中的消息传递与其他语言的调用函数呢. 可以使用C语言与OC语言进行一下对比. C语言示例 //声明一个函数,用来获取两个整型值的中较大的值int max(int a,int b);  int main(int argc, const char * argv[]) {    //调用函数,获取4,6两个整型值的最大值    int res

【Objective-C】02.第一个OC语言类

02.第一个OC语言类 在java语言中,创建一个类只需要一个文件,而在oc语言中,创建一个类需要两个文件.m文件和.h文件. .h文件是声明类,用来声明成员变量和方法.用关键词@interface来修饰,以@end结尾. .m文件是实现类,用来实现成员变量和方法,用关键词@implementation来修饰,以@end结尾. 方法:在oc语言中方法都需要用+或-来表明方法的类型. +表示的是静态方法. -表示的是动态方法. .h文件中的所有方法都是public,不能更改. 成员变量:成员变量按

李洪强iOS开发之OC语言构造方法

OC语言构造方法 一.构造方法 (一)构造方法的调用 完整的创建一个可用的对象:Person *p=[Person new]; New方法的内部会分别调用两个方法来完成2件事情,1)使用alloc方法来分配存储空间(返回分配的对象):2)使用init方法来对对象进行初始化. 可以把new方法拆开如下: 1.调用类方法+alloc分配存储空间,返回未经初始化的对象 Person *p1=[person  alloc]; 2.调用对象方法-init进行初始化,返回对象本身 Person *p2=[p

OC语言知识3

本文目录 知识回顾 一.自定义构造方法 二.description方法 说明:这个Objective-C专题,是学习iOS开发的前奏,也为了让有面向对象语言开发经验的程序员,能够快速上手Objective-C.如果你还没有编程经验,或者对Objective-C.iOS开发不感兴趣,请忽略.学习本专题之前,建议先学习C语言专题. 回到顶部 知识回顾 在第5讲中已经介绍了如何定义类和创建并初始化对象,比如有Student这个类 1.Student.h 1 #import <Foundation/Fo

黑马程序员-OC的类的构造方法

构造方法:用来初始化对象的:首先分解一下创建对象的过程: Person *p = [Person new]; // new方法是alloc 和 init 这两个方法的组合: 完整的创建可用对象的过程: 1:分配存储空间:  就是调用的  +alloc 方法,这个方法是类方法,返回的是一个分配好存储空间的 对象: 2:初始化:-init 方法,对象方法,由alloc方法返回的对象调用init对对象进行初始化: 所以创建一个对象的规范和常用的方式:  Person *p = [[Person all