zoukankan      html  css  js  c++  java
  • Objective

    之前我们稍微讲过一些关于成员变量的作用域的知识, 今天我们来复习一下.


    例子:

    #import <Foundation/Foundation.h>
    
    @interface Person : NSObject
    {
        @public
        int _age;
        
        @private
        NSString *_name;
        
        @protected
        int _height;
        
    }
    @end



    输出结果:




    解释一下:


    @public : 在任何地方都能直接访问对象的成员变量

    @private : 只能在当前类的对象方法中直接访问(@implementation中默认是@private

    @protected : 可以在当前类及其子类的对象方法中直接访问  @interface中默认就是@protected

    @package : 只要处在同一个框架中,就能直接访问对象的成员变量 (由于在现实开发中不常用, 所以在这里不解释)


    PS:如果什么都不写, 那么默认就是@protected 



    补充:

    @implementation一样可以声明成员变量

    @interface@implementation中不能声明同名的成员变量


    OC中的继承是属于单继承, 一个子类只能对应一个父类.





    好了, 这次我们就讲到这里, 下次我们继续~~~

  • 相关阅读:
    C#笔记(Hex转JPG)
    rpm 和 yum 软件管理
    名称空间和作用域
    网络技术管理和进程管理
    RAID磁盘阵列
    CentOS7系统启动流程:
    磁盘lvm管理
    面向对象 异常处理
    自定义函数和调用函数 return返回值
    Python常用模块
  • 原文地址:https://www.cnblogs.com/iOSCain/p/4282842.html
Copyright © 2011-2022 走看看