Objective-C中成员变量(member variable)的用法

成员变量

1.简介

成员变量(member variable)又叫做域变量(domain variable),是声明在类中的变量;
根据作用域范围,可以分为4类,分别是(public、private、protected、package)。

  • public:公共的;
    顾名思义,用此关键字声明的实例变量可以被在任何地方访问。
  • private:私有的;
    实例变量只能被声明它的类直接访问,如果子类要访问需要调用父类的getter/setter方法。
  • protected:受保护的;
    实例变量能被声明它的类和子类访问;
  • package:包的;
    这个类型常用于框架类的实例变量,看官方文档有用到这个关键字。
注意
(1).这四种类型的成员变量都可以在.h/.m文件的@interface大括号里或者.m文件的@implementation大括号里声明;
(2).所有没有显式制定范围的实例变量的缺省关键字修饰在.h中都是@protected,在.m中都是@private;

2.使用方法

1.创建一个Person类,然后分别在.h跟.m中声明4种不同的类型的变量,创建一个Man类继承自Person类;
h中的变量声明
m中的变量声明
2.在Person类、Man类中看那些变量可以访问,那些不可以访问;

  • Person类(父类)
    父类访问
    从图中在本类中无论是哪一种关键字修饰都可以直接访问;

  • Man类(子类)
    子类访问
    从图中可以看出以下几点:
    (1).在.m文件里面声明的变量,子类是无法访问的,无论用那一种关键字修饰,包括pubic;所以我们的对外的属性变量经常都会放在.h文件中去声明。
    (2).在.h文件中声明的变量,用private修饰的变量是不能访问的;

3.去外部调用下Man对象
外部调用
从图中可以看出
(1) .h中@private和@protrcted声明的变量不能访问;
(2) .m中声明的所有变量都不能访问;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值