A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

将对象作为类的属性


1.     一个Target中的类无法直接在另外1个Target中访问。


2.     类的属性代表什么?
     
     1)类的属性代表这类事物具有的共同特征。
     2)类的属性代表这类事物拥有的东西
     3)如何分析有哪些属性?
          就分析这个类拥有哪些属性,拥有的东西可以作为这个类的属性。


3.     类的方法代表什么?


    1)代表这个类所具备的行为,这个类所具备的功能。
     2)一个类有什么方法,就去分析这个类有什么功能。


4.     对象作为类的属性


     1)
          例:
          人拥有一条狗。
          此时这条狗就要作为人类的属性。
          LSDog *_dog;
          把这个写在人这个类的属性当中!


     2)属性的本质就是变量。
          在创建对象的时候,对象中的属性是按照类模板中的规定挨个挨个的创建出来,类模板的属性是什么类型的,那么对象中的属性就是什么类型的。


          如果对象的属性是另外1个类的对象,这个属性仅仅是1个指针变量而已,并没有对象产生,这个时候,还要为这个属性赋值1个对象的地址,才可以正常使用。
          例:
          //  创建一个人类的对象

            LSPerson *p1 = [LSPerson new];
          //  创建一个狗类的对象

            LSDog *d1 = [LSDog new];
           d1->_name = @“小白”;
           d1->_color = @“白色”;
               // 将人这个类中,狗这个对象作为它 的属性,把狗这个对象的地址赋给它。才可以使用!
           p1->_dog = d1;
          //  此时就可以去调用狗类中的狗叫了
           [p1->_dog bark];


     3)A类可以作为B类的属性
          代表B类拥有A
          且A类作为B类的属性出现,它此时仅仅是一个变量,是一个里面存储着可以指向A类属性和方法的地址罢了,默认值是nil,所以B类中用到属性A,并调用属性A中的方法的时候,就需要创建1个A类的对象,并把这个对象的地址给此时作为B类属性的A!

5 个回复

正序浏览
回复 使用道具 举报
很不错~~~
回复 使用道具 举报

谢谢支持
回复 使用道具 举报
表示好好看过
回复 使用道具 举报
可以~很不错~加油~1
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马