黑马程序员——OC核心语法点语法,成员变量,@property和@synthetic,构造方法
2015-04-13 15:31
295 查看
------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方法初始化成员变量的值
@一定要调用回super的init方法:初始化父类中声明的一些成员变量和其他属性
@如果对象初始化成功,才有必要进行接下来的初始化
@返回一个已经初始化完毕的对象
自定义构造方法
自定义构造方法的规范
@一定是对象方法,一定以 -开头
@返回值一般是id类型
@方法名一般以initWith开头
实例演示:
@自定义构造方法的声明Person类
定义name和age成员变量并生成相应的构造方法和能够初始化两个成员变量的构造方法
子类的继承和实现
定义一个Student类继承Person对象并增加一个no成员变量和一个能同时初始化3个成员变量的构造方法
分类
1、用法:在不改变原来类的情况下增加新的补充有两种方法
1)分类:分类只能增加方法
2)继承:继承可以增加成员变量和方法
2、格式:@interface 类名 (分类)
//方法声明
@end
@implementation 类名 (分类)
//方法的实现
@end
3、用途在开发一个庞大的类的时候一个类有多个人开发,有利于团队合作
类的本质
类的本质就是一个Class类型的对象“类对象”
typedef struct objc_class *Class
点语法
@点语法其实就是方法调用,对普通方法
@当使用点语法时,编译器会自动展开成相应的方法
示例
成员变量的作用域
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方法初始化成员变量的值
@一定要调用回super的init方法:初始化父类中声明的一些成员变量和其他属性
@如果对象初始化成功,才有必要进行接下来的初始化
@返回一个已经初始化完毕的对象
自定义构造方法
自定义构造方法的规范
@一定是对象方法,一定以 -开头
@返回值一般是id类型
@方法名一般以initWith开头
实例演示:
@自定义构造方法的声明Person类
定义name和age成员变量并生成相应的构造方法和能够初始化两个成员变量的构造方法
子类的继承和实现
定义一个Student类继承Person对象并增加一个no成员变量和一个能同时初始化3个成员变量的构造方法
分类
1、用法:在不改变原来类的情况下增加新的补充有两种方法
1)分类:分类只能增加方法
2)继承:继承可以增加成员变量和方法
2、格式:@interface 类名 (分类)
//方法声明
@end
@implementation 类名 (分类)
//方法的实现
@end
3、用途在开发一个庞大的类的时候一个类有多个人开发,有利于团队合作
类的本质
类的本质就是一个Class类型的对象“类对象”
typedef struct objc_class *Class
相关文章推荐
- OC特有语法1—点语法,成员变量作用域,@property,id,构造方法,多文件编程
- OC特有语法1—点语法,成员变量作用域,@property,id,构造方法,多文件编程
- 黑马程序员------OC基础-----点语法、id、构造方法、Category、成员变量作用域
- 黑马程序员——OC基础---核心语法(点语法,成员变量的作用域,@property和@synthesize)
- OC核心语法之NSString、点语法、成员变量作用域、@property和@synthesize
- 黑马程序员--OC自学笔记---05点语法、@property、@synthesize、动态类型、id类型、响应方法、构造方法
- 黑马程序员——OC基础---核心语法(id,构造方法,Category,description,SEL)
- 黑马程序员-OC语言核心语法(2)构造方法
- 黑马程序员——OC核心语法2之构造方法
- 黑马程序员——OC语言------NSString、多文件开发、点语法、成员变量的作用域、@property和@synthesize
- 黑马程序员-OC学习笔记-点方法、成员变量作用域以及set方法和get方法@property的综合题
- 黑马程序员一成员变量,@property 与 @synthesize,id,构造方法
- 黑马程序员_iOS开发之OC之面向对象之多文件操作、点语法、成员变量的作用域和关键字@property与@synthesize
- 黑马程序员——OC语言学习——Xcode开发初始化、点语法、成员变量作用域、关键字@property和@synthesize
- OC之点语法、成员变量作用域、@property和@synthesize
- oc中成员变量的set/get方法 以及 属性点语法的使用
- 黑马程序员——OC学习小结------成员变量以及对应的set、get方法
- 黑马程序员——OC基础语法—点语法和成员变量作用域
- OC-核心语法2-构造方法
- 黑马程序员——Objective-C基础——核心语法-构造方法