------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
1. 对OC的简单陈述
1> OC是在C语言的基础上发展过来的,在C原有的基础上增加了一层面向对象的语法。
2> 语法基础上OC完全兼容C。也可以混合的输入代码使用。
3> OC可以开发MAC OS X平台和IOS平台的应用程序。
2.简单的使用
1> 和C语言不同的是,OC中的字符串 :
@“ Heelo” ,是以@开头,C 语言:“Heelo”。
OC的输出:NSLog(@"Heelo"); // 会自动换行 C语言:printf("Hello\n") ;
使用 NSLog 需要 #import<Foundation/Foundation.h>
使用 printf 需要 #include<stdio.h>
2> OC的基本数据类型中在C语言的基础上增加了 BOOL 类型。
3> C 中的条件语句和循环语句以及注释的方法也同样适用于OC。
3.语法特性
1> #import的作用:
和#include一样,用来拷贝某个文件的内容,能 自动防止文件内容被拷贝多次。
2> Foundation框架的作用:
框架中包含了许多头文件,使用到框架中的内容时,包含头文件。
框架中包含了很多常用的API(应用编程接口),也是开发OC、IOS、MAC程序必备的框架(了解)。
3> BOOL的使用:
BOOL类型的变量有两种取值:YES、NOES 、
NO
# define YES (BOOL) 1
#define NO (BOOL) 0
注意: 输出时当做整数来用: NSLog(@"%d %d",YES , NO) ;
44.关于多文件的混合开发
# import "one.h"
int main( )
{
test ( ) ;
return 0 ;
}
one.h
void test ( ) ;
one.m
#import <Foundation /Foundation.h>
void test ( )
{
NSLog (@ " 调用了 test 函数 " ) ;
}
5.面向对象的思想
区别分析:面向过程是解决问题所需的步骤,而面向对象关注的是解决问题所需的对象。
. 面向对象解决问题时:先考虑所需要设计的类,再利用类创建多少个对象。
类的设计:
1> 事物的名称(类名)
2> 属性
3> 行为
例如:
#import<Foundation/Foundation.h> // 使用到框架时,要包含头文件
// 第一步:进行类的声明(声明的对象的属性、行为)
@interface Car : BSObject // object 作用是让Car这个类具备创建对象的能力
{
@public // 作用是可以让外部的指针间接访问对象内部的成员变量
// 声明对象的属性
int whells ; // 这里定义车的轮子这个属性
int speed ; // 这里定义了车的速度这个属性
}
@end
// 第二步:类的实现
@implementation Car
...
@end
int main ( )
{
// [ 行为执行者 行为名称 ] ,OC中需要执行一些行为,就写上[ ] ;
// [ Car new ] ; // 通过 执行Car这个类的new行为,创建一个新的对象
Car *p = [ Car new ] ; // 定义一个指针变量p , p将来指向Car类型的对象
p —> speed = 120 ; // 通过指针变量,对Car类型中的成员变量赋值
p —> wheels = 4 ;
NSLog (@"Car有%d个轮子,时速是%d" , p —> wheels , p —> speed) ; // NSLog 输出自动换行
return 0 ;
}
注意: // 类名的第一个字母必须大写
// 不能有下划线
// 多个英文字母是注意用驼峰标示
6.对象的行为
// 第一步 :类的声明
@interface Car :NSObjec
{
@public
int wheels ;
int speed ;
}
/*
方法(行为):方法名、参数、返回值(声明、实现)。
OC中对象的方法用 " - " 减号开头。
OC 方法中的任何数据类型都必须用()扩住。
*/
// 类的行为
- (void)run ; // 在上面类的设计里面加入行为
@end
// 类的实现
@implementation Car
// 类方法的实现
- (void)run // 注意方法名用 “ - "号开头
{
NSLog ( @"车子发动了") ;
}
@end
int main( )
{
Car *p = [ Car new ] ; // 每次创建出一个新对象,并返回新对象本身(地址)
p —> wheels = 6 ;
p —> speed = 180 ;
[ p run ] ; // 给所指向的对象发送一条run消息
NSLog (@" 车子有%d个轮子,时速%dkm/h " , p —> wheels , p —> speed ) ;
return 0 ;
}