- /*
- 类和对象:
- * 类的声明和实现
- @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;
- }
复制代码
|