类: 类是具有相同特征 和 行为事物的抽象集合。
类是抽象的,并不指定某个个体,是一个群体。
通过类名去调用的方法是类方法
通过对象去调用的方法叫做对象方法,或者实例方法
类是抽象的,并不指定某个个体,是一个群体。
对象: 对象就是类的实例(就是我说说的个体)世间万物皆是对象
1、如何创建类和对象
一个类包括了类名、成员变量(属性)和方法(成员函数)
对象是类的实例化,那么在平常的中的名词即是一个对象,动词就是方法,我们从对象中可以抽象出一个类。
例如:坦克发射3颗炮弹轰掉了2架飞机
不难看出名词有坦克、炮弹、飞机都可以抽象成类,发射动词可以设计成方法
2、类的声明和实现
类的声明:
//类的声明
@interface Dog : NSObject
{
// 在这里声明类的成员变量
// 成员变量 用来描述对象有什么
int _age;
}
@end
类的实现:
//用@implementation 声明类的实现
@implementation Dog
@end
成员变量:
用来描述对象的属性即对象拥有什么东西
方法:
@interface Dog : NSObject{
}
//在这里声明成员方法
//成员方法描述对象可以做什么
-(viod)run;
@end
带参数的成员函数的声明格式:-(返回值类型)标签1:(参数类型)形参名 标签2:(参数类型)形参名
有返回值得成员函数的格式 : -(返回值类型)方法名
方法的调用:
方法的调用格式[对象名/类名 消息名/方法名/函数名]通过类名去调用的方法是类方法
通过对象去调用的方法叫做对象方法,或者实例方法
对象的创建:
Dog * d = [[Dog alloc] init]; //生成了一个狗的对象
3、实例
# import <Foundation/Foundation.h>
@interface Person : NSObject
{
char *_name;
int _no;
}
-(void)setName:(char*)name;
-(char*)name;
-(void)setNo:(int)no;
-(int)no;
@end
@implementation Person
-(void)setName:(char*)name
{
_name = name;
}
-(char*)name
{
return _name;
}
-(void)setNo:(int)no
{
_no = no;
}
-(int)no
{
return _no;
}
@end
int main()
{
Person *p = [Person new];
[p setName:"jim"];
[p setNo:1];
NSLog(@"name = %s ,no = %d",[p name],[p no]);
return 0;
}