一、面向对象的基本概念
面向对象的分析过程就是将现实世界中的对象抽象为类的过程
类:定义了现实世界中的一些事物的抽象特点
对象:对象是类的实例
方法:方法是一个类能做的事情
封装:把类的数据和方法只让可信的类或者对象操作,对不可信的类进行信息隐藏。
继承:继承实现了子类和父类,子类可以使用父类的所有功能,并可以对这些功能进行拓展。
多肽:指同一个接口名称,但是体现不同的功能,它有两种方式:覆盖和重载。
二、Objective-C 程序结构
类是
Objective-C
的核心、Objective-C程序都是围绕类进行的、Objective-C程序至少包含以下三部分:
(1)类接口:定义了类的数据和方法,但是不包括方法的实现代码
(2)类实现:包含了实现类方法的代码
(3)应用程序:调用类来完成一些实际操作的应用程序
1.类接口的语法如下:
@interface 类名:父类名
{ 变量定义; }
方法定义;
@end
示例:
@interface Menber : NSObject
{ NSString *name;
int age;
}
- (Nsstring*) nanme;
- (int) age;
- (void) setName: (Nsstring*)input;
- (void) setAge: (int)input;
@end
说明:@interface符号表明这是Member类的接口声明。一个单独小横杆( - )表明它是一个实例方法,假如是一个加号
那就说明它是一个类方法表明其他代码可以直接调用类方法,而不用创建这个类的实例。当你定义一个方法时
还需要指定是否有返回值。
2.类实现的语法如下:
@implenmentation 类名
方法实现代码;
@end
例:
@implenmentation Menber
- (NSString*) name
{ return name; }
-(int) age
{ return age; }
- (void) setName: (NSString*)input
{ [name autorelease];
name = [intput retain];
}
- (void) setAge: (int) input
{ age=input; }
@ end
说明:类的实现代码以@implementation加上类名开始,以@end结束
3.应用程序
在定义了类并实现了类代码之后,应用程序就可以使用这些类来解决实际问题了,应用程序的main方法是整个应用
程序的接口,当你运行这个应用程序时,main方法首先被调用。
例:
int main ( int argc, const char *atgv[] )
{ NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
Member *menver = [[Menver alloc]init];
[member setName:@"sam"];
[member setAge:36];
NSLog(@''i',[member age]);
[member release];
[pool drain];
return 0;
}
4.Objective-C的方法调用
一个类就是把数据和一些对这些数据的操作捆绑在一起,这些操作称为方法,数据称为变量或属性,一个具体的
实体就是类的一个实例(对象)。对象的变量属于对象的内部数据,通常要访问这些数据只能通过对象的方法、方法
是作用于属性的函数。在OC上,调用方法的简单格式是:
[类名 方法名]; 也可以表示为:[接收方 消息]
一个方法可以返回值,可以把返回值放在变量上保存,比如:
变量 = [实例 方法];
在调用一个方法时,可能需要提供输入参数,比如:
[member setAge:36];
所以,完整的方法调用的格式为:
[接收方 名字1:参数1 名字2:参数2 名字3:参数3 . . . . . .];
注意:我们应该尽量避免在一行代码里面嵌套调用超过两个的方法,这样的话,代码可可读性就不太好!