黑马程序员技术交流社区

标题: ->的用法 [打印本页]

作者: 愿我能    时间: 2014-4-21 16:00
标题: ->的用法
本帖最后由 愿我能 于 2014-4-21 17:58 编辑

->可以给对象的属性赋值 如
  1. Person *p1 = [Person new];
  2. p1->age = 14;
  3. //->这里也可以用点语法代替,问下->还有其他用法么,看到最后->符号几乎没出现过
复制代码

作者: 微尘•逐梦    时间: 2014-4-21 16:15
本帖最后由 微尘•逐梦 于 2014-4-21 16:22 编辑

->这个符号就是对对象成员变量的直接访问,成员变量作用域必须是public,然而在开发中成员变量通常是private,所以不会用到这个符号。在指针中也可以用到这个符号,例如以下代码。
  1. #include<stdio.h>

  2. struct Student {
  3.     char *name;
  4.     int age;
  5. };

  6. int main()
  7. {
  8.     struct Student student;
  9.     struct Student *p = &student;
  10.    
  11.     p->name = "jack";
  12.     p->age = 11;
  13.    
  14.     return 0;
  15. }
复制代码


作者: 戴文婷    时间: 2014-4-21 16:38
->符号在C语言中基本也就结构里用。而OC是面向对象语言,更加讲究封装。所以也不太建议用对象->属性,这样直接用。有些违反封装特性了。
所以。。其实用处是不大吧。
作者: 愿我能    时间: 2014-4-21 17:58
的确 ,OC就刚刚开始有,出现点语法后就没用过了




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