标签:objective-c 基础
Objective-C(简称OC)是iOS开发的核心语言,苹果公司在维护,在开发过程中也会配合着使用C语言、C++,OC主要负责UI界面,C语言、C++可用于图形处理。C语言是面向过程的语言,OC是在C语言基础上加上了一层面向对象的语法(将复杂面向对象语法去掉了)。我们可以使用OC开发Mac OS X平台和IOS平台的应用程序。
2014年10月编程语言排行榜(http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html)
从这个排行榜上可以看到,高居榜首的还是c、java、object-c、c++、c#、php、python、javascript.
注意:
1、Objective-C是没有包的概念的,也就是没有命名空间机制,而是通过给类名添加前缀来防止类名冲突。
2、Objective-C中的关键字以@开头,防止和c/c++的关键字冲突。
3、Objective-C中的字符串以@开头。
语法:

需要注意的是上面的红色字部分:
BOOL类型(YES\NO)其实就是1和0
nil相当于Java中的null
self相当于Java中的this
for(xx in xx)和javascript的快速遍历相同,相当于java中的for...each
继承和Java相同是单继承
//
// main.m
// firstOCProj
//
// Created by lixiaoqiang on 14/11/11.
// Copyright (c) 2014年 lixiaoqiang. All rights reserved.
//
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
// insert code here...
NSLog(@"Hello, World!");
}
return 0;
}控制台输出:2014-11-11 23:44:36.052 firstOCProj[1649:99047] Hello, World!
上面的@autoreleasepool和内存管理有关,暂时不用管。//
// Student.h
// firstOCProj
//
// Created by lixiaoqiang on 14/11/11.
// Copyright (c) 2014年 lixiaoqiang. All rights reserved.
//
//该文件只是用来声明Student这个类有哪些成员变量和方法
//包含NSObject所在的头文件
#import <Foundation/Foundation.h>
//@interface @end代表声明一个类
//和Java不同的是OC中不能省略NSObject的默认继承
// : 代表继承
@interface Student : NSObject{
//定义成员变量(必须定义在该括号内)
int age;
}
//age的get方法
//如果是动态方法 -
//如果是静态方法 + (-和+必须添加)
//OC中的参数类型都用括号括住
//.h文件中的方法都是公共方法
- (int)age;
//age的set方法
//OC中一个 : 对应一个参数
- (void)setAge:(int)newAge;
@end
Student.m文件//
// Student.m
// firstOCProj
//
// Created by lixiaoqiang on 14/11/11.
// Copyright (c) 2014年 lixiaoqiang. All rights reserved.
//
//自定义的头文件使用双引号
#import "Student.h"
@implementation Student
- (int)getAge {
return age; //age在父类中
}
- (void)setAge:(int)newAge {
age = newAge;
}
@end
main.m文件//
// main.m
// firstOCProj
//
// Created by lixiaoqiang on 14/11/11.
// Copyright (c) 2014年 lixiaoqiang. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "Student.h"
int main(int argc, const char * argv[]) {
@autoreleasepool {
//创建一个Student对象
//1、调用一个静态方法alloc分配内存
//OC 中通过类名调用方法 [类名 方法名]
//[Student alloc]返回一个指针,在OC中stu称为对象
//这个其实和Java中的对象(this)是一样的(引用)
//Student *stu = [Student alloc];
//2、调用一个动态方法init进行初始化
//stu = [stu init];
//连接起来使用
Student *stu = [[Student alloc] init];
[stu setAge:100];
NSLog(@"调用了setAge方法");
int age = [stu age];
NSLog(@"Student的age是%i", age);
//释放对象
//[stu release];
}
return 0;
}
运行结果:2014-11-12 00:25:03.661 firstOCProj[1707:110472] 调用了setAge方法
2014-11-12 00:25:03.663 firstOCProj[1707:110472] Student的age是100
标签:objective-c 基础
原文地址:http://blog.csdn.net/dawanganban/article/details/40986023