Fork me on GitHub

第二讲实例变量可见度,set/get方法,自定义初始化 及description的使用

 一.实例变量可见度,方法(面试题)

     1>.实例变量可见度

   public(共有的):实例变量可以在类的内部和外部操作

   protected(受保护的,默认的):实例变量只能在该类和其子类内操作

   private(私有的):实例变量只能在该类内访问

   注意: 为什么我们很少使用@public?
              a. 使用@public暴露了类内部的细节
              b. 不符合面向对象的三大特性之一--封装

二.setter和getter方法

    1>.类方法中不能使用实例变量

       在OC里,为实例变量赋值的方法称作setter (设置器)。读取实例变量值的方法称作getter(访问器)。

    2>.书写格式: 如果一个实例变量是int age;或者int _age;

      setter的书写格式如下:- (void)setAge:(int)age;即set+首字⺟母⼤写的实例变量名(忽略下划线)。

      getter的书写格式如下: - (int)age;即返回值类型与变量类型一 致,方法名与实例变量名相同(忽略下划线)

      注:每个实例变量都需要一对setter和getter方法

 

实例变量:Person.h

 

Person.m

 

main.m

 

 

三.自定义初始化(其中包含description方法的使用)

    1>.格式: -(id)initWithName: 自定义初始化⽅方法,根据需求定义初始化方法。

    2>.在使用自定义初始化方法时,必须配合setter/getter方法使用同时注意调用的方法

实例代码:(其中包含description方法的使用)

Person.h文件

 

Person.m文件

 

main.m文件(包含description方法输出)

 

posted @ 2015-08-29 14:24  DengHuiCheng  阅读(215)  评论(0编辑  收藏  举报