黑马程序员 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>、期待与您交流!
----------------------
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>、期待与您交流!
----------------------
相关文章推荐
- 黑马程序员之ios学习总结——09 OC语言的点语法、@property和@synthesize
- 黑马程序员-我的第十篇学习日记:OC中点语法,@property和@synthesize,完整创建一个可用对象
- 黑马程序员--IOS入学学习--8-OC核心语法
- 黑马程序员-iOS学习日记(一)OC基本语法
- 黑马程序员————IOS学习笔记 第6篇 OC特殊语法(2)
- [黑马程序员]12[OC语言]OC基本语法部分学习笔记总结
- 黑马程序员--IOS学习笔记(OC-点语法)
- 黑马程序员——OC学习小结------OC入门
- 黑马程序员——OC语言学习——Xcode开发初始化、点语法、成员变量作用域、关键字@property和@synthesize
- 一 :ios学习笔记 OC入门2 点语法
- 黑马程序员:OC学习日记之核心语法二
- 黑马程序员————IOS学习笔记 第5篇 OC特殊语法 (1)
- 黑马程序员-IOS学习笔记-OC基础OC简介及基本语法
- 黑马程序员——OC学习——基础语法一
- 黑马程序员_OC学习之@property、点语法
- 黑马程序员---OC学习笔记之copy概念及入门
- 黑马程序员——零基础学习iOS开发——10 Object-C 面向对象思想、OC语法简介、对象、类、
- 黑马程序员——OC学习——基础语法二
- 黑马程序员-8-Objective-C学习笔记(OC特有语法)
- 黑马程序员_OC学习之点语法