黑马程序员技术交流社区

标题: oc 点语法 [打印本页]

作者: AGHM0312    时间: 2015-12-5 22:19
标题: oc 点语法
//  main.m
/*
29点语法的使用
1.直接用对象的指针名.(去掉get或set的)方法名.
2.前题:成员变量的get方法,不再需要get,但set方法保持不变.
本质:
点语法本质还是方法调用.去调用的类中定义的set get方法(get方法不需要前面加get);
点语法Xcode编译器的一个功能.本质上还是去调用方法.
提供一种更方便的方式去操作属性.
两个要注意的问题:
1.不能在set或get方法里用点语法调用自已.否则会出现死循环.
2.点语法可以调用普通方法,只要符合规则.但是不要这么做.
*/
#import <Foundation/Foundation.h>
#import "Person.h"
int main(int argc, const char * argv[]) {
   
    Person *per=[Person new];
   
    //访问成员变量(属性)
    //用原始方式:
//    [per setName:@"李四"];
//    NSString *name=[per name];
//    NSLog(@"%@",name);
   
    per.name=@"王五";// 等效于:[per setName:@"王五"];
    NSString *name=per.name;//等效于:[per name];
    NSLog(@"%@",name);
   
    per.age=20;
    int age=per.age;
    NSLog(@"%d",age);
   
    per.high=1.75;
    double high=per.high;
     NSLog(@"%f",high);
   
    per.weight=1.2; //会去找这个名字的方法:setWeight
    double weight=per.weight;// 会去找这个名字的方法:weight;
   
    NSLog(@"%f",weight);
    NSLog(@"%d",per.add);
  
    return 0;
}

作者: 唯有繁星    时间: 2015-12-5 22:53
赞一个!!!!!!!!!!!!!!!!!!!!!!!





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