对象作为返回值:
1. 对象可以作为方法的返回值;
返回值应该是类指针类型的
-(HMDog *)buyDog
代表方法执行完毕之后以一个HMDog对象返回
所以有返回值就要接这个时候在方法结束之前,就别虚使用return返回1个符合类型的对象
HMDog *dog = [xiaoMing buyDog]
2. 本质上来说其实返回的是一个指定对象的地址,对象的地址是存在堆区的
(声明完有返回值的方法,在实现的时候要建立一个对象,再把对象返回回去)
1) .一个Target中的类无法直接在灵位1个Target中访问
2) .a.类的属性代表这类事物具有共同的特征
b.其实就代表这个类所拥有的东西
c.分析这个类拥有的东西就可以作为这个类的属性(例如:音响类,可以想音响有什么:有颜色,有大小,有品牌,有功率,有价格.....这些拥有的都是音响类的属性)
3) a.类的方法代表这个类所具备的行为/功能(例如一个音响具有什么功能:发声音,所以这个发声音的行为就是音响类的方法)
b.一个类有什么方法就去分析这个类有什么功能
1. 对象作为类的属性:
属性的本质是变量,在创建对象的时候对象中的属性是按照类模板中的规定挨个创建出来,类模板中属性是什么类型,那么对象中的属性就是什么类型
如果对象的属性是另外1个类的对象,这个属性仅仅是1个指针变量而已并没有对象产生,这个时候还要为这个属性赋值1个对象的地址
2. A类可以作为B类的属性,代表B拥有A,但属性仅仅是1个变量而已,是一个指针变量而已,默认值是NIL,并没创建对象,如果你要正常使用的话,还要为B对象的A属性赋值1个对象 |
|