黑马程序员—Objective-C基础_基本语法
2014-03-27 00:20
435 查看
---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流!
----------------------
OC语法概要
OC是在C语言的基础上,增加了一层最小的面向对象语法。它完全兼容C语言,可以在OC代码中使用C语言代码,甚至是C++代码。
OC中大部分关键字都以“@”开头,字符串也是以@开头。如:@import、@"abc"
OC的基本数据类型包括:char、int、float、double、BOOL。BOOL有两个取值YES和NO,相当于1和0。
OC中空值表示用nil
屏幕输出时使用NSLog(@"hello"); 如下:第一个OC程序
#import <Foundation/Foundation.h>
int main()
{
NSLog(@"第一个OC程序");
return 0;
}
这里#import的作用和#include一样,都是用来拷贝文件内容的。而且可以防止文件内容被重复拷贝。
Foundation开发OC程序必备的框架,包含了很多常用API(应用编程接口)。框架中包含很多头文件,如需使用框架内容,只要包含主头文件Foundation.h即可。
OC程序文件类型名为.m。如果程序中使用Foundation框架时, 链接文件时需要在后面增加框架名称 -framework Foundation。如:cc main.o -framework Foundation
OC是面向对象的编程语言,C语言是面向过程的编程语言。
面向过程主要关注的是解决问题的步骤,面向对象关注的是解决问题需要的对象
类和对象
类的声明
@interface Person : NSObject
{
@public
NSString *name;
}
- (void) run;
@end
成员变量
@interface{}中声明的变量:name,默认初始化为0。
@public可以让Person对象的属性被外界访问
NSObject可以让Person类具备创建对象的能力
对象方法
- (void)run;是一个对象方法
- 用减号表示对象方法
void是方法的返回值类型,表示无返回值。必须用()括住
run是方法名。
类的实现
@implementation Person
- (void) run
{
NSLog(@"跑一圈");
}
@end
实现Person类中声明的方法。
创建对象
int main()
{
Person *p = [Person new];
p->name = @"rose";
[p run];
return 0;
}
创建对象时,使用指针指向对象在内存中地址。
访问对象成员变量时使用->
调用对象方法[对象名 方法名];
成员变量的作用域
@public:在任何地方都能直接访问对象的成员变量
@private:只能在当前类的对象方法中直接访问(@implementation中默认是@private)
@protected:可以在当前类及其子类的对象方法中直接访问(@interface中默认是@protected)
@package:只要处在同一框架中,就能直接访问对象的成员变量
@interface和@implementation中不能声明同名成员变量
带参数的方法
-(int) sumWithNum1:(int)num1 andNum2:(int)num2;
方法的参数写在方法名后面,参数类型用括号括起来。一个参数对应一个冒号:(冒号也是方法名的一部分)
方法和函数的区别
方法:
1> 对象方法都是以减号 - 开头
2> 对象方法的声明必须写在@interface和@end之间
3> 对象方法的实现必须写在@implementation和@end之间
4> 对象方法只能由对象调用,归这个对象和类所有
函数 :
1> 函数可以写在文件中的任何位置
2> 函数调用不依赖对象
3> 函数内部不能直接通过成员变量名访问对象的成员变量
方法可以分为对象方法和类方法两种。
对象方法:以减号 - 开头,只能由对象调用。在对象方法中能访问当前对象的成员变量。
类方法:以加号 + 开头,只能由类调用,类方法中不能访问成员变量。
使用类方法可以提高程序效率。当方法内部不需要使用成员变量时,可以写成类方法。类方法和对象方法可以同名。
- (int) sumWithNum1:(int)num1 andNum2:(int)num2
{
return num1 + num2;
}
这个方法接收两个整数,返回他们的和。当这两个参数为外界传递的参数时,可以写成类方法。
+ (int) sumWithNum1:(int)num1 andNum2:(int)num2
{
return num1 + num2;
}
---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流!
----------------------
详细请查看:http://edu.csdn.net
----------------------
OC语法概要
OC是在C语言的基础上,增加了一层最小的面向对象语法。它完全兼容C语言,可以在OC代码中使用C语言代码,甚至是C++代码。
OC中大部分关键字都以“@”开头,字符串也是以@开头。如:@import、@"abc"
OC的基本数据类型包括:char、int、float、double、BOOL。BOOL有两个取值YES和NO,相当于1和0。
OC中空值表示用nil
屏幕输出时使用NSLog(@"hello"); 如下:第一个OC程序
#import <Foundation/Foundation.h>
int main()
{
NSLog(@"第一个OC程序");
return 0;
}
这里#import的作用和#include一样,都是用来拷贝文件内容的。而且可以防止文件内容被重复拷贝。
Foundation开发OC程序必备的框架,包含了很多常用API(应用编程接口)。框架中包含很多头文件,如需使用框架内容,只要包含主头文件Foundation.h即可。
OC程序文件类型名为.m。如果程序中使用Foundation框架时, 链接文件时需要在后面增加框架名称 -framework Foundation。如:cc main.o -framework Foundation
OC是面向对象的编程语言,C语言是面向过程的编程语言。
面向过程主要关注的是解决问题的步骤,面向对象关注的是解决问题需要的对象
类和对象
类的声明
@interface Person : NSObject
{
@public
NSString *name;
}
- (void) run;
@end
成员变量
@interface{}中声明的变量:name,默认初始化为0。
@public可以让Person对象的属性被外界访问
NSObject可以让Person类具备创建对象的能力
对象方法
- (void)run;是一个对象方法
- 用减号表示对象方法
void是方法的返回值类型,表示无返回值。必须用()括住
run是方法名。
类的实现
@implementation Person
- (void) run
{
NSLog(@"跑一圈");
}
@end
实现Person类中声明的方法。
创建对象
int main()
{
Person *p = [Person new];
p->name = @"rose";
[p run];
return 0;
}
创建对象时,使用指针指向对象在内存中地址。
访问对象成员变量时使用->
调用对象方法[对象名 方法名];
成员变量的作用域
@public:在任何地方都能直接访问对象的成员变量
@private:只能在当前类的对象方法中直接访问(@implementation中默认是@private)
@protected:可以在当前类及其子类的对象方法中直接访问(@interface中默认是@protected)
@package:只要处在同一框架中,就能直接访问对象的成员变量
@interface和@implementation中不能声明同名成员变量
带参数的方法
-(int) sumWithNum1:(int)num1 andNum2:(int)num2;
方法的参数写在方法名后面,参数类型用括号括起来。一个参数对应一个冒号:(冒号也是方法名的一部分)
方法和函数的区别
方法:
1> 对象方法都是以减号 - 开头
2> 对象方法的声明必须写在@interface和@end之间
3> 对象方法的实现必须写在@implementation和@end之间
4> 对象方法只能由对象调用,归这个对象和类所有
函数 :
1> 函数可以写在文件中的任何位置
2> 函数调用不依赖对象
3> 函数内部不能直接通过成员变量名访问对象的成员变量
方法可以分为对象方法和类方法两种。
对象方法:以减号 - 开头,只能由对象调用。在对象方法中能访问当前对象的成员变量。
类方法:以加号 + 开头,只能由类调用,类方法中不能访问成员变量。
使用类方法可以提高程序效率。当方法内部不需要使用成员变量时,可以写成类方法。类方法和对象方法可以同名。
- (int) sumWithNum1:(int)num1 andNum2:(int)num2
{
return num1 + num2;
}
这个方法接收两个整数,返回他们的和。当这两个参数为外界传递的参数时,可以写成类方法。
+ (int) sumWithNum1:(int)num1 andNum2:(int)num2
{
return num1 + num2;
}
---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流!
----------------------
详细请查看:http://edu.csdn.net
相关文章推荐
- 黑马程序员——IOS基础---Objective-C第二段视频学习---面向对象---基本语法
- 黑马程序员——Objective-C——基本语法
- 黑马程序员----objective-C 类与对象基础篇(一)【基本概念】
- 黑马程序员——JAVA基础之(基本语法)
- 黑马程序员-java编程基础,基本数据类型,基本语法及基本语句
- 黑马程序员--Objective-C语言基础知识--特有语法
- 黑马程序员——Objective-C基础——语法总结
- 黑马程序员-IOS学习笔记-OC基础OC简介及基本语法
- 黑马程序员——C语言基础语法、基本运算理论
- 黑马程序员——Objective-C基础——面对对象语法01
- 黑马程序员——C语言基础语法--scanf函数、基本运算、流程控制
- 黑马程序员--SQL Server 基本语法、基础知识
- Objective - C基础: 第三天 - 2.点语法的基本认识
- 黑马程序员——Objective-C基础——面向对象语法04
- 黑马程序员--ios基础--c语言--基础语法、基本运算
- 黑马程序员——Objective-C基础——核心语法-@property 和@synthesize
- 黑马程序员-iOS基础-Objective-C基础(五)核心语法(下)
- 黑马程序员_第六天视频学习 Objective-C的基本语法、类和对象
- 黑马程序员-IOS-OC基础-OC简介及基本语法
- 黑马程序员——Objective-C基础-——核心语法-description和sel