01-OC介绍_移动开发_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > 移动开发 > 01-OC介绍

01-OC介绍

 2013/12/21 16:09:15  回读  博客园  我要评论(0)
  • 摘要:目录一、OC语言介绍二、ios系统三、在OC语言开发中使用C语言语法四、面向对象回到顶部一、OC语言介绍1早在20世纪80年代早期,BardCox发明了Objective-C,扩充了C,面向对象的编程语言。2NextSTEP简称NS;1985年,SteveJobs成立了NeXT公司;1988年,NextSoftware公司获得了OC语言的授权,NEXTSTEP环境,为了苹果操作系统创建的开发包,发行操作系统OSX的基础,1996年,苹果公司收购了NeXTSoftware公司
  • 标签:

目录

一、OC语言介绍

二、ios系统

三、在OC语言开发中使用C语言语法

四、面向对象

回到顶部

一、OC语言介绍

1 早在20世纪80年代早期,BardCox发明了Objective-C,扩充了C,面向对象的编程语言

2 NextSTEP简称NS;

1985年,Steve Jobs成立了NeXT公司;

1988年,Next Software公司获得了OC语言的授权,NEXTSTEP环境,为了苹果操作系统创建的开发包,发行操作系统OSX的基础,

1996年,苹果公司收购了NeXT Software公司,NEXTSTEP环境为了苹果操作系统,创建的开发包,发行操作系统OSX的基础。这个开发环境版本被苹果公司更名位Cocoa框架。

3 Cocoa框架是苹果公司为了MAC OS X所创建的原生面向对象的编程环境。Cocoa应用程序一般在苹果的工具xcode上用OC编写的应用程序。

APP Store (全称:Application Store应用程序商店)

使用cocoa编程环境开发的应用程序叫cocoa应用。

使用cocoa touch编程框架 -> IOS app

cocoa框架由两部分组成,Foundation框架和Application Kit框架。

Foundation框架是基本框架,包括:字符串、数字、数组、字典集合等。

Application Kit框架,应用程序工具箱,包括实现程序图形、事件驱动和用户界面的全部对象,如:窗口、对话框、按钮、菜单。。。而且这个列表还在不断添加。

回到顶部

二、IOS系统

IOS系统是苹果硬件(便携设备)上的一个操作系统,在2007年1月9日,MacWorld大会上公布的系统,最初设计给iPhone使用的,后来陆续用到iPod touch、iPad、apple TV等苹果产品。

开发方向:IOS App、IOS Game

使用语言:IOS App(C、OC)、IOS Game(C、OC、C++)

第一个程序

1 iOS

create project -> ios -> application -> single view  application -> run

2 OSX

create project -> osx -> create project -> command line tool -> type:foundation

测试:C语言的语法是否可以在main.m文件使用变量、条件分支、循环、函数、结构体、指针。

回到顶部

三、在OC语言开发中使用C语言语法

1 main.c -> main.m

2 include - > import(避免重复导入)

标准函数库 -> 库(Foundation)

3 输出函数printf -> NSLog(加入了时间、地点)

在OC中所有的字符串前都要加上'@'符号

4 在编译的时候,gcc不支持OC的新语法,应该使用新的编译命令clang,编译链接时,需要指定使用的框架(-framework Foundation)

命令行:clang -framework Foundation main.m

OC中独有的内容

1 xcode编译器,LLVM:LowLevelVirtualMachine

2 逻辑值数据类型

      BOOL = YES(1) // NO(0)

练习:定义一个函数,求两个数是否相等,函数的返回值是逻辑只类型,在main函数中,根据逻辑值输出两个数是否相等。

 1 //bool
 2 #import <Foundation/Foundation.h>
 3 //练习:定义一个函数,求两个数是否相等,函数的返回值是逻辑值类型,在main函数中,根据逻辑值输出两个数是否相等。
 4 BOOL test(int i1,int i2)
 5 {
 6     if (i1 == i2) {
 7         return YES;
 8     }else{
 9         return NO;
10     }
11 }
12 
13 int main(int argc, const char * argv[])
14 {
15 
16     @autoreleasepool {
17         BOOL b;
18         int i1 = 4,i2 = 8;
19         b = test(i1, i2);
20         if (b) {
21             NSLog(@"相等");
22         }else{
23             NSLog(@"不相等");
24         }
25         NSLog(@"Hello, World!");
26         //逻辑值数据类型
27         bool b1 = true;
28         NSLog(@"b1:%d",b1);
29         BOOL b2 = YES;
30         NSLog(@"b2:%d",b2);
31         
32     }
33     return 0;
34 }

回到顶部

四、面向对象

1 类是一种主观思想,是对我们需要解决问题的一种抽象,是创建对象的模型。

2 对象就是具体的数据集合,计算机会把类->实例化->对象。

3 第一个面向对象程序

设计类Student,一个类由两个部分组成.h(声明)和.m(实现)

类的实例化->对象:

通过类发送alloc(开辟内存空间)创建对象,通过对象(指针变量)找到内存的对象。

向对象发送消息(函数),此时对象就会响应消息。

对象如果有属性,对象.属性=值,给对象的属性赋值。

练习:创建一个point类,有横坐标x,纵坐标y,能显示位置(show方法),创建两个位置并显示。

main.m

class="code_img_closed" src="/Upload/Images/2013122116/0015B68B3C38AA5B.gif" alt="" />logs_code_hide('8e1568fd-337f-4be8-a1aa-0eaddf9f7259',event)" src="/Upload/Images/2013122116/2B1B950FA3DF188F.gif" alt="" />
 1 //
 2 //  main.m
 3 //  第一个面向对象程序
 4 //
 5 //  Created by tarena on 13-12-16.
 6 //  Copyright (c) 2013年 tarena. All rights reserved.
 7 //
 8 
 9 #import <Foundation/Foundation.h>
10 #import "Student.h"
11 
12 int main(int argc, const char * argv[])
13 {
14 
15     @autoreleasepool {
16         //创建Student对象,alloc 开辟内存空间
17         //Student类 -> alloc实例化 -> stu对象(指向首地址)
18         Student* stu = [Student alloc];
19         NSLog(@"stu address:%p",stu);
20         stu.age = 12;
21         [stu study];//调用类中的动态(-)方法
22         //[Student study];//调用类中的静态(+)方法
23 
24     }
25     return 0;
26 }
View Code

Point.h

 1 //
 2 //  Point.h
 3 //  第一个面向对象程序
 4 //
 5 //  Created by tarena on 13-12-16.
 6 //  Copyright (c) 2013年 tarena. All rights reserved.
 7 //
 8 
 9 #import <Foundation/Foundation.h>
10 
11 @interface Point : NSObject
12 
13 @end
View Code

Point.m

 1 //
 2 //  Point.m
 3 //  第一个面向对象程序
 4 //
 5 //  Created by tarena on 13-12-16.
 6 //  Copyright (c) 2013年 tarena. All rights reserved.
 7 //
 8 
 9 #import "Point.h"
10 
11 @implementation Point
12 
13 @end
View Code

Student.h

 1 //
 2 //  Student.h
 3 //  第一个面向对象程序
 4 //
 5 //  Created by tarena on 13-12-16.
 6 //  Copyright (c) 2013年 tarena. All rights reserved.
 7 //
 8 
 9 #import <Foundation/Foundation.h>
10 
11 @interface Student : NSObject
12 
13 @property int age;
14 
15 -(void)study;
16 @end
View Code

Student.m

 1 //
 2 //  Student.m
 3 //  第一个面向对象程序
 4 //
 5 //  Created by tarena on 13-12-16.
 6 //  Copyright (c) 2013年 tarena. All rights reserved.
 7 //
 8 
 9 #import "Student.h"
10 
11 @implementation Student
12 -(void)study
13 {
14     NSLog(@"%d调用了study方法",self.age);
15 }
16 @end
View Code

说明:因为OC文件太多,代码也太多,就不分享了。

 

  • 相关文章
发表评论
用户名: 匿名