您的位置:首页 > 职场人生

黑马程序员 OC------入门语法学习

2014-04-03 22:43 316 查看
---------------------- <a href="http://www.itheima.com"target="blank">ASP.Net+Unity开发</a>、<a
href="http://www.itheima.com"target="blank">.Net培训</a>、期待与您交流! ----------------------

一:OC基础

#import <Foundation/Foundation.h>

Foundation.h其实是我们Foundation框架的主头文件

主头文件会自动拷贝框架中所有的头文件
#include 和 #import都是用来拷贝文件(把右边的文件拷贝到当前位置)
#include要防止重复拷贝,必须在文件中写入头文件卫士

#import 能够自动防止重复拷贝

OC和C语言一样,入口都是main函数

printf和NSLog区别:
1.名字不同
2.接收的参数不同
3.输出信息不同
4.NSLog会自动换行

5.引入的头文件不同

二:类的概念

完整的定义一个OC类分为两个部分

OC中的类分为两个部分: 1.类的声明 2.类的实现

C语言中完整的定义一个函数分为两个部分: 函数的声明/函数的定义(实现)

1.声明一个类
@interface表示类的声明
@end 表示声明结束
注意点: 类名首字母一般大写

类的声明有两个作用: 声明类的属性和类的行为

在类名后面写上: NSObject 是为类让Iphone类具备创建对象的能力,也就是可以调用new方法

属性名称一般用_开头

OC中属性必须写在@@interface 和 @end之间的大括号中

格式;

@interface 类命 : NSObject

{

属性

}

方法声明;

@end
2.实现一个类
@implementation 表示实现一个类
@end //表示类实现结束

三;对象方法

对象方法:

> 减号开头-

> 只能由对象调用

> 对象方法中可以访问成员变量

> 对象方法中可以调用类方法

> 对象方法中可以调用对象方法

在OC中,要想修改一个对象的属性或者调用一个对象的对象方法,必须通过对象(指针)来修改和调用

想要通过类来创建一个对象,要调用类的一个方法, 调用一个叫做new的一个方法

在OC中想要调用方法,就立刻写上 [类名/对象 方法名称];

[Iphone new]; 做了三件事情

1. 开辟存储空间(开辟的存储空间是在堆内存中)

2. 初始化成员变量(写在类声明大括号中的变量称之为成员变量,也叫做实例变量)

3.返回内存地址

在OC中,要想调用某一个方法 首先写上[类名/对象 方法名称];

定义一个Iphone类型的指针保持Iphone对象的地址

保存了对象指针地址的变量, 我们就把他叫做某一个对象

例如:

Iphonep *p = [Iphone new];

例题说明:

人物(士兵)
类名:士兵(Soldier)
属性:生命值(_life),角色名称(_name),等级(_level)

方法:打手枪(fire) 换弹夹(clip) 打电话(callPhone)

#import <Foundation/Foundation.h>

typedef enum
{
kSoldierLevel1,// 大兵
kSoldierLevel2,// 列兵
kSoldierLevel3 // 士官

} SoldierLevel;

@interface Soldier : NSObject
{
@public//表示公开类中的属性 否则无法调用
int _life;// 生命值
NSString *_name;// 角色名称
SoldierLevel _level;// 等级
}
// 打手枪方法
- (void)fire;

@end

@implementation Soldier

- (void)fire
{
NSLog(@"打了一枪");
}
@end
int main(int argc, const char * argv[])
{

Soldier *s1 = [Soldier new];
s1->_name = @“史泰龙";
s1->_life = 100;
s1->_level = kSoldierLevel3;

[s1 fire];

return 0;

}

四;类方法:

> 加号开头 +

> 只能由类名调用

> 类方法中不可以访问成员变量

> 类方法中可以调用类方法

> 类方法中不能直接调用对象方法

> 类方法的名称可以和对象方法相同

类方法的优点"

> 不依赖对象,执行效率高

> 能用类方法尽量用类方法

类方法应用场景:

当方法内部不需要使用到成员变量的时候就用类方法

类方法一般用于编写工具方法

类方法:通过类名调用的方法 [类名/对象 方法名称];

---------------------- <a href="http://www.itheima.com"target="blank">ASP.Net+Unity开发</a>、<a href="http://www.itheima.com"target="blank">.Net培训</a>、期待与您交流!
----------------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: