黑马程序员---OC面向对象总结

来源:互联网 发布:cf直接刷枪软件 编辑:程序博客网 时间:2024/05/16 02:26

一  、面向对象的概念 

面向对象是将功能封装进对象,强调具备了功能的对象,关注的是解决问题需要哪些对象,是基于面向过程的。oc中的面向对象:oc利用类创建对象,一个类可以创建多个对象,因此,oc面向对象解决问题,应该设计哪些类,在用类创建对象。

二 、面向对象设计的三大特征

封装性

多态性

继承性

三、类和对象的声明和实现

 

类:  相同事物的一个抽象(相同事物的属性\行为)

对象: 对象是满足类特征的一个具体的个体

类的声明:

类的声明使用了关键字 @interface 和 @end

@interface  类名 : NSObject       //声明实例变量、成员变量、属性

{

     数据类型  _实例变量名;     //注意:实例变量名一般以下划线开头

}

        

如:声明一个类,类名:Car

 

@interfaceCar:NSObject

{

    //声明实例变量,实例变量一般以下画线开头

    int _color;

    int _wheelNum;

    int _speed;

}

- (void)run;

@end


 类的实现

 

实现类中声明的方法,使用 @implementation 和 @end 关键字

@implementation 类名

  方法的实现

@end

如:

@implementationCar

-(void)run{

    NSLog(@"汽车正在高速路上行驶");

}

@end

 

对象的创建

语法:[类名 new]

此对象的创建执行了三个操作:

1:在内存的堆区开辟了存储空间

2对实例变量完成了初始化工作

3返回开辟的堆存储空间的首地址。

如 :

int main(int argc, const char * argv[]) {

   @autoreleasepool {

       

        Car*p = [Car new];

        [prun];

   

    }

    return0;

}

将上面整个代码运行结果如下:

2015-08-03 23:05:58.201 car[17873:2369574] 汽车正在高速路上行驶


四:方法声明实现及调用

OC中的方法分为:对象方法和类方法:

对象方法

(1)对象方法以-开头如 -(void)xx;

(2)对象方法只能由对象来调用

(3)对象方法中可以访问当前对象的成员变量

(4)调用格式 [对象名 对象方法名];

类方法

(1)类方法以+开头 如+(void)put;


(2)类方法只能由类来调用

(3)类方法中不能访问实例(成员)变量,因为类方法由类来调用,并没有创建存储空间来存储类中的成员变量。


(4)调用格式:[类名 类方法名];


(5)类方法的好处和适用场合:

     不依赖于对象,执行效率更高;

     能用类方法解决的问题,尽量使用类方法;

     场合:当方法内部不需要使用到成员变量时,可以改为类方法。

声明:

不带参数:- (返回值类型)方法名

带参数:- (返回值类型)方法名:(参数1类型)参数1名称 方法名:(参数2类型)参数2名称......

如:- (int)sumOfNumber1:(int)number1 andNumber2:(int)number2

带参数方法的调用:

[调用者 方法名:参数方法名:参数2......]

如 [p sumOfNumber1:5 andNumber2:10]

 

 

 

     

 

 

 

 

 


0 0
原创粉丝点击