OC学习之路(2)

来源:互联网 发布:zip解压缩软件官方 编辑:程序博客网 时间:2024/05/23 12:14

实例化对象:Computer *computer = [[Computer alloc]init];

alloc:创建实例对象的方法,开辟内存空间保存对象的数据

init:初始化方法,完成对象的初始化,比如对属性赋初值

 

OC中的方法:

- (NSString *)setName:(NSString *)namewithAge:(int)age;

“-”:方法的类型,”-” 实例方法      “+”  类方法

“NSString *”           方法的返回值

“setName:”         方法的名称(包含冒号)

“(NSString *)name” 方法的参数

“withAge:”         方法的名称(包含冒号)

“(int)age”         方法的参数

 

代码规范:

l  类名:每个单词首字母大写,例如:Student

l  变量:首字母小写后面的单词首字母大写(驼峰标示) studentName

l  方法名称:和变量名称一样(驼峰标示)

l  字段、实例变量使用下划线开头

l  每个方法至少有一行间隔

 

.h文件用于声明属性和方法       .m文件用于实现方法

 

“+”类方法       “-”实例方法

类方法属于类本身,不属于具体的实例对象。使用”+”表示,调用的时候直接使用类名调用。

实例方法属于具体的实例对象,使用”-”表示,调用的时候需要实例化的具体对象名调用。

 

实例方法(对象方法)中调用类方法(静态方法)      [类名   类方法名]

实例方法(对象方法)中调用实例方法(对象方法)         [self        对象方法名]

类方法(静态方法)中调用实例方法(对象方法)      实例化对象[新对象  对象方法名]

类方法(静态方法)中调用类方法(静态方法)        [self        类方法名]

 

重写父类方法:直接书写普通方法,只是方法名要与父类方法名相同。然后再写事件处理函数。

 

小技巧:快速敲出代码,如果方法在.h中声明了,敲出方法返回类型,在敲出方法名,便有提示。如果是重写父类方法,先直接敲方法名,就可看到提示。

 

代码例:

Car*myCar = [[Car alloc] init];

myCar.brand= @”奥迪”;        利用属性的set方法赋值

myCar->_output= 98.00;     利用->强制性赋值,但这个属性必须公开才可行

 

get/set方法定义

-      (void)setName:(NSString*)name;        在.h文件中声明set方法

-      (NSString*)name;                      在.h文件中声明get方法

 

-  (void)setName:(NSString *)name{        在.m文件中实现set方法

    _name = name;

}

-  (NSString *)name{                      在.m文件中声明get方法

    return _name;

}

 

set方法和get方法有两种方法调用,使用[]和”.”语法

[stu setName:@”小倩”];

stu.name= @”小倩”;

 

self、super关键字

OC中的self关键字代表着当前方法的调用,也就是说你要在当前类内部调用自己的方法时就用self关键字。

super关键字:OC中的super关键字表示当前类/对象的父类,在子类中使用其关键字调用父类的方法

注意点:   1、在实例方法中,self代表着”当前对象”

           2、在类方法中,self代表着”当前类”

自定义初始化方法

OC提供的init方法没有提供参数的,只能对属性设置固定值。

自定义初始化方法必须以init开头,并且后面的单词首字母大写。

instancetype是返回值类型,表示当前的对象。

代码例如:

-(instancetype)initName:(NSString *)name{

    self = [super init];            //先对父类进行初始化,因为每个OC的类都有自己的父类,首先保证父类初始化成功

    if (self) {                             //判断self是否为nil(空),不为nil才对当前对象属性赋值

        _name = name;               //使用传入的值给属性赋值

    }

    return self;                        //返回当前实例对象

}

 

覆写description方法,description方法默认返回的是对象的地址

原创粉丝点击