黑马程序员——OC核心语法点语法,成员变量,@property和@synthetic,构造方法

来源:互联网 发布:达内大数据培训靠谱吗 编辑:程序博客网 时间:2024/05/01 09:59

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

点语法

@点语法其实就是方法调用,对普通方法

@当使用点语法时,编译器会自动展开成相应的方法

示例

成员变量的作用域

1、成员变量有四种作用域,分别为@protected、@public、@private、@package

2、解释

@protected:默认成员变量类型,只能在当前类的对象方法中直接访问

@protected:可以在当前类以及子类的对象方法中直接访问

@public:任何地方都可以直接访问,非常不安全,一般不使用

@package:同一个“体系内”(框架)可以访问,介于@private和@public之间,(暂时很少用到)

三、set方法和get方法的快速生成

set方法和get方法的代码重复性书写大大降低了程序员工作的效率

OC语法中使用@property和@synthetic方法大大简化了set方法和get方法的定义和声明

@property:

在.h文件中的@interface中使用,用来声明(和定义)set和get方法

@synthetic

在.m文件中的@implementation中使用,用来实现set和get方法

@synthetic使用注意

如果已经使用了@property方法可以不使用synthetic方法

四、万能指针,可以指向任何OC对象类型的指针

构造方法

1、为什么要使用构造方法:为了让对象创建出来,成员变量就会有一些固定的值

Person *p = [Person new];显然不能满足这个需求

2、够着方法的初步认识:

@调用+alloc分配存储空间

@调用-init进行初始化

@合并起来可以完整的创建一个对象

重写一个init方法初始化成员变量的值
@一定要调用回superinit方法:初始化父类中声明的一些成员变量和其他属性

@如果对象初始化成功,才有必要进行接下来的初始化

@返回一个已经初始化完毕的对象

自定义构造方法

自定义构造方法的规范

@一定是对象方法,一定以 -开头

@返回值一般是id类型

@方法名一般以initWith开头

实例演示:

@自定义构造方法的声明Person类

定义name和age成员变量并生成相应的构造方法和能够初始化两个成员变量的构造方法

子类的继承和实现

定义一个Student类继承Person对象并增加一个no成员变量和一个能同时初始化3个成员变量的构造方法

分类

1、用法:在不改变原来类的情况下增加新的补充有两种方法

1)分类:分类只能增加方法

2)继承:继承可以增加成员变量和方法

2、格式:@interface 类名 (分类)

//方法声明

@end
@implementation 类名 (分类)

//方法的实现

@end

3、用途在开发一个庞大的类的时候一个类有多个人开发,有利于团队合作

类的本质

类的本质就是一个Class类型的对象“类对象”

typedef struct objc_class *Class


0 0
原创粉丝点击