黑马程序员——OC中的点语法及属性作用域

一. 点语法:

        通过 . 语法给属性赋值(取值)

    //在使用 . 语法的时候实际上就是在调用setget方法

    //注意:在=号的左边使用 . 语法的时候,调用的是set方法;其他的地方使用都是调用的get方法

    //使用 . 语法的时候,后面的名称是对应的成员变量去掉下划线后的部分

    girl1.name = @"***";

    //注意点:    。语法只能调用setget方法


常用的属性赋值方法:

//  先创建一个对象

Girl *girl1 = [Girl new];

1》 直接赋值 

    girl1->_name = @"张三";

    girl1->_height = 30;

    girl1->_weight = 60;

2》 通过setget

    [girl1 setName:@"张三"];

    [girl1 setHeight:30];

    [girl1 setWeight:60]; 

3》 通过。语法

    在使用。语法的时候实际上就是在调用setget方法

    注意:在=号的左边使用。语法的时候,调用的是set方法

         其他的地方使用都是调用的get方法

    使用。语法的时候,。后面的名称是对应的成员变量去掉下划线后的部分

    girl1.name = @"张三";

    girl1.weight = 30;

    girl1.height = 60;


    NSLog(@"女孩的姓名:%@,身高:%i,体重:%i",[girl1 name],[girl1 height],[girl1 weight]);

    打印对象的时候就是在调用descripion方法,调用oc的对象的格式符是%@

    NSLog(@"%@",girl1);  


补充:

      description

       使用:当一个对象有很多个属性需要打印的时候,使用description

       作用:简化代码

//在.m文件中重写description方法

-(NSString *)description{

    NSString *str = [NSString stringWithFormat:@"女孩的姓名:%@,身高:%i,体重:%i",[self name],_height,self->_weight] ;

  return str;

}

二.  属性作用域

  作用域分四种:

  @public     任何地方

  @protected  本类与子类

  @private    本类

  @package    在包的内部

  作用范围:1.本类 2.子类 3.类的外部 4.包与包之间



猜你喜欢

转载自blog.csdn.net/yubingdian2011/article/details/40507739
今日推荐