OC中实例变量可见度 &&setter 与 getter

  1. 成员变量的可见度

  • @public 类的外部和内部都可以访问
  • @protected 受保护的, 外部不能访问, 内部可以访问
  • @private 私有的, 外部不可以访问, 内部可以访问, 但是子类不能够访问;
  • 如果没有写提示, 则系统默认是 @protected, 受保护的!
    @interface Person : NSObject
    {
    @public
    NSString *_name;
    NSString *_sex;
    @protected
    NSString *_hobby;
    @private
    NSInteger _age;
    }
  • 对于@protected修饰的实例变量不能访问的, 设置两个方法分别为setter和getter方法 来赋值和读取

  1. setter 复制方法(又名: 设置器) 与getter取值方法(又名 访问器)
在.h文件中声明 (设置器与访问器的放法声明)

设置器

  • 以set开头
  • 2.因无返回值 用(void)
    -(void)setHobby:(NSString *)hobby;

访问器

  • 带有一个方绘制无参数的方法
  • OC中只能带一个返回值(设置器可以同时赋值多个参数, 而访问器只能访问一个参数)
    假设为 Student 类
    - (NSString *)hobby;
.m 中实现 (设置器与访问器的方法实现)
  - (void) setHobby:(NSString *)hoby
  {
  _hobby = hobby;
  }
  - (NSString *)hobby
  {
   return _hobby;
  };

赋值可以同时赋多个值, 但每一个值都必须有一个相对的访问器,
多个参数的赋值, 图通多个参数的初始化一样!
- (void)setName:(NSString *)name
sex:(NSString *)sex
age:(NSInter)age;
- (NSString *)name; // 对应的访问器
- (NSString *)sex;
- (NSInteger)age

函数中 初始化为
Student *stu1 = [[Student alloc] init]; 创建对象
[stu1 setName:@"xiaoming" sex:@"number" number:20012]; 用setter方法赋值

注: 实例变量的命名必须满足如 _name 一般以 下划线开头, 字母采取驼峰命名法: numberOfStudent 表示学生的数目, 每个单词的首字母大写!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1. NSString前面NS是NextSTEP的缩写. 2.面向对象编程OOP (ObjectOrientedP...
    飞天小猪阅读 481评论 0 0
  • 1、 OC中与alloc相反的方法是:答案:(C) A、release B、retain C、dealloc ...
    失忆的程序员阅读 3,001评论 0 6
  • 云烟消散,两相忘 生逢醉一场,醉忧伤 小舟从此逝 余生独自赏 ……
    d17f25ea82aa阅读 286评论 0 2
  • 轻松自在的周末 补了一个觉 吃了好吃的 洗衣服 收拾桌面 又看了一本很喜欢的书《向前一步》给周一积蓄满满的能量
    活跃在兔子毛顶端阅读 207评论 0 0
  • 买好小礼物,驱车半小时与事先约好的表哥在祁阳县老湘运公司会合。表哥上车后我们寒暄了几句就再无言语,四人坐在车上心情...
    唐红旗_阅读 1,821评论 7 20

友情链接更多精彩内容