黑马程序员技术交流社区
标题:
talk is cheap, show me the code!--类和对象
[打印本页]
作者:
崔石炫
时间:
2014-10-21 23:59
标题:
talk is cheap, show me the code!--类和对象
/*
类和对象:
* 类的声明和实现
@interface 类名 : 父类名
{
//声明的属性列表
}
//声明的方法列表
@end
@implementation 类名
//实现类中声明的方法
@end
* 对象的创建
类名 *pointer = [类名 new]; //返回一个根据类名创建好的可用的对象,并用指针pointer指向这个对象
* 对象的行为
//给对象发送消息,对象就会执行相应的行为,实际就是调用对象的方法
[对象名 行为名];
* 方法和成员变量
类的声明中,大括号{}中声明成员变量,即属性
大括号{}外声明方法
类的实现负责实现类的声明中的方法
* 匿名对象
创建一个对象,但是不用指针指向它,这样的对象称为匿名对象
匿名对象只能在创建时的那条语句中使用,之后就不能再用,因为没有指针指向它,想用也找不到那个对象了,不知道放在哪里。
*/
#import <Foundation/Foundation.h>
/*
类的声明和实现
*/
@interface Person : NSObject //声明一个名叫Person的类
{
@public //@public关键字的作用:让其后的_age属性可以在类外部直接访问
int _age;
}
- (void)setAge:(int)age; //声明一个名为setAge:(冒号:也是方法名的一部分)的对象方法,接收一个int类型的参数,返回值为void
- (void)printAge; //声明一个名为printAge的对象方法,不接收参数,返回值为void
@end
@implementation Person //实现名叫Person的类
- (void)setAge:(int)age //实现对象方法
{
_age = age;
}
- (void)printAge //实现对象方法
{
NSLog(@"_age = %d" , _age);
}
@end
int main(int argc, const char * argv[])
{
Person *p = [Person new]; //创建一个新的Person对象,并让指针p指向新创建的对象
[p setAge:10]; //给p指向的对象发送setAge:消息,将_age属性的值设置为10
[p printAge]; //给p指向的对象发送printAge消息,将_age属性的值打印出来
[[Person new] printAge]; //创建一个匿名对象(没有指针指向它),同时向该对象发送printAge消息,然后就无法使用这个匿名对象,因为没有指针指向它
return 0;
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2