Objective-C—OC的基本使用、BOOL、类的描述

来源:互联网 发布:国际社交聊天软件 编辑:程序博客网 时间:2024/06/06 15:53


---OC的一些基本使用


OC的基本程序:
#import <Foundation/Foundation.h>

int main()
{
    // NSLog输出内容会自动换行
    NSLog(@"hello world!!!");  
    return 0;
}

 1.#import的用途:
 1> 跟#include一样,拷贝文件的内容
 2> 可以自动防止文件的内容被重复拷贝
 
 2.#import <Foundation/NSObjCRuntime.h>
    NSObjCRuntime.h中有NSLog函数的声明
 
 3.Foundation框架头文件的路径
 1> 右击Xcode.app --> 显示包内容
 2> Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/System/Library/Frameworks/Foundation.framework
 
 4.主头文件
 1> 主头文件:最主要的头文件,名字一般跟框架名称一样,包含了框架中的所有其他头文件
 2> Foundation框架的主头文件名称就是Foundation.h
 3> 只需要包含Foundation框架主头文件,就可以使用整个框架的东西
 
 5.运行过程
 1> 编写OC源文件:.m、.c
 2> 编译:cc -c xxx.m xxx.c
 3> 链接:cc xxx.o xxx.o -framework Foundation
   (只有用到了Foundation框架才需要加上-framework Foundation)
 4> 运行:./a.out

---OC与C的一些区别

1.关键字:基本上所有关键字都是以@开头。
2.字符串以@开头:比如@"Hello"是oc中的字符串。
3.oc比c语言多了BOOL(yes\no)类型
4.nil相当于c语言中的NULL,也就是0。
5.输出方式:NSlog(@"Hello");NSlog(@"age is %i",27);
6.NSlog输出内容会自动换行。

#import的用途:
1.跟#include一样,拷贝文件的内容
2.可以防止文件的内容被重复拷贝多次

---BOOL

int main()
{
BOOL b = YES;
BOOL b2 =NO;
BOOL b3 =1;// YES
BOOL b4 =0;// NO

  NSlog(@"%i",b);
return 0;
}

BOOL的本质:typedef signed char BOOL;定义了signed char为BOOL类型

---面向对象和面向过程思想

1.类的设计:
1>类名
*类名的第一个字母必须是大写
*不能有下划线
*多个英文单词,用驼峰标识
2>属性
3>行为(功能)

2.植物大战僵尸的僵尸
1>僵尸
*类名:Zoombie
*属性:life,speed,gongjili
*行为:walk,bite,die,

3.雷电的飞机
*类名:Plane
*属性:life,gongjili,speed,bombCount
*行为:fly,bomb,shoot,die
   
4.电脑
*类名:Computer
*属性:band,expireDate
*行为:open,close

---OC中类的描述

/*类名:Car
属性:轮胎个数,时速
行为:跑
*/
//因为使用了NSObject
#import<Foundation/Foundation.h>

//完整地写一个函数:函数的声明和定义(实现)
//完整地写一个类:类的声明和实现

//1.类的声明
// 声明对象的属性、行为
//NSObject目的是:让Car这个类具备创建对象的能力
@interface Car :NSObject
{//用来声明对象属性(实例变量\成员变量,默认会初始化0)
   //@public可以让外部的指针间接访问对象内部的成员变量
   @public
   int wheels;//轮胎个数
   int speed;//时速(xxkm/h)
}

// 方法(行为):方法名、参数、返回值(声明、实现)  
//只要是OC对象的方法,必须以减号 - 开头
//OC方法中任何数据类型都必须用小括号()括住
//OC方法中的小括号():括住数据类型
-(void) run;

@end

//2.类的实现
//用来实现@interface中声明的方法
@implementation Car
//方法的实现(说清楚方法里面有什么代码)
- (void) run
{
     NSlog(@“车子跑起来了");
}

@end

int main()
{
   //在OC中,想执行一些行为,就写上一个中括号[行为执行者 行为名称]
   //利用类来创建对象
   //执行了Car这个类的new行为来创建新对象

   //定义了一个指针变量p,p将来指向的是Car类型的对象
   //[Car new]每次都会创建出一个新对象,并且会返回新对象本身(新对象地址)
   Car *p = [Car new ];

   //给p所指向对象的wheels属性赋值   
   p->wheels = 4;
   p->speed = 250;

//给p所指向对象发送一条run消息
   [p run];
   NSlog(@"车子有%d个轮子,时速为:%dkm/h",p->wheels,p->speed);
   return 0;

0 0
原创粉丝点击