#import <Foundation/Foundation.h>
#import "Cat.h"
#import "Person.h"
int main(int argc, const char * argv[])
{
Cat *cat1 = [Cat new];//实名对象,用同类的指针保存了对象的地址
[Cat new];//匿名对象,只是通过new创建了一个对象出来,并没有用指针来保存
cat1->_name = @"加菲猫";
//
[Cat new]->_name = @"好猫";
[[Cat new] lookMyCat];//打印的是空,因为每new一次创建一个新的对象
//匿名对象的作用
//1.当调用使用次数很少的方法的时候,就直接使用匿名对象调用。
Cat *cat2 = [Cat new];
[cat2 lookMyCat];
[[Cat new] lookMyCat];
//2.匿名对象可以作为参数传递,当不需要给传递的对象的成员变量赋值的时候,就使用匿名对象作为参数传递
//Cat *cat3 = [Cat new];
// cat3->_name = @"xiao";
Person *person1 = [Person new];
[person1 feedCat:[Cat new]];
//作用:节省代码,节省内存
return 0;
} |
|