黑马程序员技术交流社区

标题: 对象作为类的属性(详细总结) [打印本页]

作者: 梦里花落知多少s    时间: 2016-9-26 19:22
标题: 对象作为类的属性(详细总结)
将对象作为类的属性


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!


作者: Mr.Canon    时间: 2016-9-26 20:26
可以~很不错~加油~1
作者: will123    时间: 2016-10-3 23:24
表示好好看过
作者: 梦里花落知多少s    时间: 2016-10-5 15:19
will123 发表于 2016-10-3 23:24
表示好好看过

谢谢支持
作者: 邱中林    时间: 2016-10-5 23:57
很不错~~~
作者: 梦里花落知多少s    时间: 2016-10-6 11:17
邱中林 发表于 2016-10-5 23:57
很不错~~~

谢谢




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2