1. //
  2. // Dog.h
  3. // OC4_实例变量的作用域
  4. //
  5. // Created by zhangxueming on 15/6/16.
  6. // Copyright (c) 2015年 zhangxueming. All rights reserved.
  7. //
  8.  
  9. #import <Foundation/Foundation.h>
  10.  
  11. @interface Dog : NSObject
  12. {
  13. @protected//受保护的实例变量, 在当前类里面可以直接访问,在类外面不可以直接访问,但是可以通过调用方法间接访问,子类可以直接继承受保护的实例变量
  14. NSString *_name;
  15. NSInteger _age;
  16. @private //私有的实例变量, 在当前类里面可以直接访问,在类外面不可以直接访问,但是可以通过调用方法间接访问,子类不可以继承私有的实例变量
  17. float _weight;
  18. float _height;
  19. @public //公有的实例变量, 在类内类外都可以直接访问,子类可以直接继承公有的实例变量
  20. NSInteger _number;
  21. }
  22.  
  23. //@property 关键字展开的实例变量是私有的
  24.  
  25. @property (copy,nonatomic) NSString *name;
  26. @property (assign,nonatomic)NSInteger age;
  27. @property (assign,nonatomic)float weight;
  28. @property (assign,nonatomic)float height;
  29. //@property (assign,nonatomic)NSInteger number;
  30. - (void)setNumber:(NSInteger)number;
  31. - (NSInteger)number;
  32.  
  33. - (void)printNumber;
  34.  
  35. @end
  1. //
  2. // Dog.m
  3. // OC4_实例变量的作用域
  4. //
  5. // Created by zhangxueming on 15/6/16.
  6. // Copyright (c) 2015年 zhangxueming. All rights reserved.
  7. //
  8.  
  9. #import "Dog.h"
  10.  
  11. @implementation Dog
  12. {
  13. NSInteger abc;
  14. }
  15.  
  16. - (void)setNumber:(NSInteger)number
  17. {
  18. _number = number;
  19. }
  20.  
  21. - (NSInteger)number
  22. {
  23. return self->_number;
  24. }
  25.  
  26. - (void)printNumber
  27. {
  28. NSLog(@"number = %li", [self number]);
  29. }
  30.  
  31. @end
  1. //
  2. // main.m
  3. // OC4_实例变量的作用域
  4. //
  5. // Created by zhangxueming on 15/6/16.
  6. // Copyright (c) 2015年 zhangxueming. All rights reserved.
  7. //
  8.  
  9. #import <Foundation/Foundation.h>
  10. #import "Dog.h"
  11.  
  12. int main(int argc, const char * argv[]) {
  13. @autoreleasepool {
  14. Dog *xiaoHei = [[Dog alloc] init];
  15. // xiaoHei->_name = @"小黑";
  16. // xiaoHei->_age =12;
  17. // _name = @"xiaohei";
  18. xiaoHei.name =@"小黑";
  19. xiaoHei.age = ;
  20. NSLog(@"name =%@ age = %li", xiaoHei.name, xiaoHei.age);
  21.  
  22. xiaoHei.weight = 34.2;
  23. xiaoHei.height = ;
  24. NSLog(@"weight = %.2f height = %.2f", [xiaoHei weight], xiaoHei.height);
  25.  
  26. xiaoHei->_number = ;
  27. NSLog(@"number = %li", xiaoHei->_number);
  28.  
  29. }
  30. return ;
  31. }

OC4_实例变量的作用域的更多相关文章

  1. Python语言特性之4:类变量和实例变量

    类变量就是供类使用的变量,实例变量就是供实例使用的.如下面的代码: class Person: name = "Tacey" p1 = Person() p2 = Person() ...

  2. Python中变量的作用域(variable scope)

    http://www.crifan.com/summary_python_variable_effective_scope/ 解释python中变量的作用域 示例: 1.代码版 #!/usr/bin/ ...

  3. ruby中实例变量、类变量等等的区别和联系

    ruby的变量有局部变量,全局变量,实例变量,类变量,常量. 1.局部变量 局部变量以一个小写字母开头或下划线开头 局部变量有局部作用域限制(比如一个block内),它的作用域起始于声明处,结束于该声 ...

  4. 深入浅出 JavaScript 变量、作用域和内存 v 0.5

    本文主要从原理入手分享变量和作用域的相关知识,最后结合本文所分享知识,再次深入了解下闭包的运行原理. 主要参考<JS高级程序设计> <JS权威指南> <高性能 JS> ...

  5. C语言的变量的作用域和生存期

    一.c程序存储空间布局 C程序一直由下列部分组成: 1)正文段——CPU执行的机器指令部分:一个程序只有一个副本:只读,防止程序由于意外事故而修改自身指令:      2)初始化数据段(数据段)——在 ...

  6. IOS总结 静变量static、全局变量extern、局部变量、实例变量

    1.静态变量 static 什么是静态变量:从面向对象的角度触发,当需要一个数据对象为整类而非某个对象服务,同时有力求不破坏类的封装性,既要求此成员隐藏在类的内部,有要求对外不可见的时候,就可以使用s ...

  7. 精读《javascript高级程序设计》笔记二——变量、作用域、内存以及引用类型

    变量.作用域和内存问题 执行环境共有两种类型——全局和局部 作用域链会加长,有两种情况:try-catch语句的catch块,with语句. javascript没有块级作用域,即在if,for循环中 ...

  8. JavaScript 高级程序设计(第3版)笔记——chapter4:变量、作用域和内存问题

    Chapter4 变量.作用域和内存问题 l  理解基本类型和引用类型的值 l  理解执行环境 l  理解垃圾收集 4.1基本类型和引用类型的值 l  ECMAScript变量包含两种不同数据类型的值 ...

  9. java局部/成员/静态/实例变量

    局部变量和成员变量主要是他们作用域的区别成员变量个是类内部:局部变量是定义其的方法体内部(或者方法体内部的某一程序块内——大括号,主要看定义的位置).另外,成员变量可以不显式初始化,它们可以由系统设定 ...

随机推荐

  1. JavaEE通过response实现请求重定向

    请求重定向指的是一个web资源收到客户端请求后,通知客户端去访问另外一个web资源,这称之为请求重定向.302状态码和location头即可实现重定向. 请求重定向最常见的应用场景就是用户登录. 下面 ...

  2. OA系统权限管理设计(转载)

    不论什么系统都离不开权限的管理,有一个好的权限管理模块,不仅使我们的系统操作自如,管理方便,也为系统加入亮点. l         不同职责的人员,对于系统操作的权限应该是不同的.优秀的业务系统,这是 ...

  3. “WinMount”和“云端”真是相当好用!

    WinMount作为一款压缩文件管理以及虚拟光驱工具已经无敌了.更有两项功能相当好用: 1.将rar.zip等压缩文件直接虚拟成磁盘,也就是下载一个7G的游戏可以不用解压直接安装了! 2.右键压缩文件 ...

  4. Codeforces Round #331 (Div. 2) D. Wilbur and Trees 记忆化搜索

    D. Wilbur and Trees Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/596/p ...

  5. HDU 4593 H - Robot 水题

    H - RobotTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudge/contest/view.act ...

  6. iOS开发——数据持久化Swift篇&文件目录路径获取(Home目录,文档目录,缓存目录等)

    文件目录路径获取(Home目录,文档目录,缓存目录等)   iOS应用程序只能在自己的目录下进行文件的操作,不可以访问其他的存储空间,此区域被称为沙盒.下面介绍常用的程序文件夹目录:   1,Home ...

  7. iOS开发——数据解析Swift篇&简单json数据处理

    简单json数据处理 //loadWeather var url = NSURL(string: "http://www.weather.com.cn/adat/sk/101240701.h ...

  8. iOS开发——总结篇&常用开发总结

    一.通知1.监听通知 - (void)addObserver:(id)observer selector:(SEL)aSelector name:(NSString *)aName object:(i ...

  9. 使用proguard混淆android代码

    当前是有些工具比方apktool,dextojar等是能够对我们android安装包进行反编译,获得源代码的.为了降低被别人破解,导致源代码泄露,程序被别人盗代替码,等等.我们须要对代码进行混淆,an ...

  10. android144 360 快捷方式

    package com.example; import android.net.Uri; import android.os.Bundle; import android.app.Activity; ...