黑马程序员-----------ios培训 oc核心语法一
来源:互联网 发布:mac灰色和银色那个好 编辑:程序博客网 时间:2024/04/30 23:20
------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------
一.点语法 点语法:点语法本质是方法调用
例:p.age = 10 --->[p setAge : 10]
p.age ----> [p age];
二.成员变量的作用域
1. public :在任何地方都能直接访问对象
2.private :只能在当前类的对象方法中直接访问,但是子类中拥有成员变量,能通过set get方法访问。
3.protected:能在当前类和子类的对象方法中直接访问(默认情况下都为protected)
4.package : 只要处于同一框架就能直接访问对象的成员变量。
5.在声明中定义的成员变量默认情况下是protect类型的 ,在实现中定义的成员变量默认情况下是private类型的。
三.@property和@synthesize
1.@property能自动生成成员变量的set和get方法
2. @synthesize能自动生成成员变量set和get方法的实现
例
#import<Foundation/Foundation.h>@interface Person :NSObject{int _age; } @property int age; @end @imlementation Person @synthesize age = _age; @end
相当于一下代码
#import<Foundation/Foundation.h> @interface Person : NSObject { int _age; } - (void)setAge:(int)age; - (int)age; @end @implementation Person - (void)setAge:(int)age; { _age = age; } - (int)age{return _age;}
2.@property
如果没有声明成员变量
例
#import<Foundation/Foundation.h>@interface Person :NSObject @property int age; @end @imlementation Person @synthesize age = _age; @end
以上代码自动生成成员变量_age,且为private类型。
@shnthesize特性:
(1)如果在实现中手动实现了get方法 那么系统只会自动生成set方法 和成员变量
(2)如果在实现中手动生成了set方法 那么系统中只会自动生成get方法和成员变量。
XCODE4.4以后@property独揽了@synthesize的所有功能。
四. id是万能指针。
五. 构造方法:
1.完整生成一个可用的对象分为两步
例:Person *p = [Person new];
可分为以下两步
Person *p1 = [Person alloc];
Person *p2 = [p1 init];
以上两步又可以有以下过程代替:
Person *p3 = [[Person alloc] init];
自定义构造方法的规范:
1.一定是对象方法,一定以“_"开头;
2. 返回值一般是Id类型;
3.方法名一般以init开头,
例 :
外界设置名字
- (id)initWithName:(NSString *)name{if(self = [super init]){_name = name}return self;}
外界设置年龄:
- (id)initWithAge:(int)age{if(self = [super init]){_age = age}return self;}
同时设置年龄和姓名:
- (id)initWithName:(NSString *name)name andAge:(int)age{if(self = [super init]){_name = name;_age = age}return self;}
创建一个分类,且在加一个学号的情况下同时设置年龄和姓名:
- (id)initWithName:(NSString)name AndAge:(int)age andNo:(int)no {if(self = [super initWithNamename andAge:age ]){_no = no;}return self;}
0 0
- 黑马程序员-----------ios培训 oc核心语法一
- 黑马程序员--------iOS培训 OC核心语法二
- 黑马程序员----OC核心语法
- 黑马程序员- IOS学习笔记OC核心语法
- 黑马程序员--IOS学习日记:06--OC的核心语法
- 黑马程序员--IOS入学学习--8-OC核心语法
- 黑马程序员:OC学习日记之核心语法一
- 黑马程序员-----------ios培训 oc内存管理(一)
- 黑马程序员-10.OC的核心语法
- 黑马程序员6 oc核心语法
- 黑马程序员-OC的核心语法
- 黑马程序员-OC的核心语法补充
- 黑马程序员----OC基础--核心语法、关键字
- 黑马程序员 OC核心语法1
- 黑马程序员 OC核心语法2
- 黑马程序员——OC核心语法
- 黑马程序员-------OC中的一些核心语法
- 黑马程序员-IOS-OC基础-面向对象语法一
- Android Studio学习
- 装饰者模式
- 去哪儿网前端架构师司徒正美:如何挑选适合的前端框架?
- Ajax知识笔记——入门,同步和异步,XHR
- Git常用命令总结
- 黑马程序员-----------ios培训 oc核心语法一
- iOS 检测版本更新
- Xcode6 新建文件设置作者名
- 在struts2中使用Ajax的json和request/response两种方式
- IOS中Json解析的四种方法
- Android组件边框
- 错误本地提交撤销提交信息但修改保留,注意commitid
- Android基础之用Eclipse搭建Android开发环境和创建第一个Android项目(Windows平台)
- LeetCode 题解(88): Copy List with Random Pointer