OC4_实例变量的作用域
- //
- // Dog.h
- // OC4_实例变量的作用域
- //
- // Created by zhangxueming on 15/6/16.
- // Copyright (c) 2015年 zhangxueming. All rights reserved.
- //
- #import <Foundation/Foundation.h>
- @interface Dog : NSObject
- {
- @protected//受保护的实例变量, 在当前类里面可以直接访问,在类外面不可以直接访问,但是可以通过调用方法间接访问,子类可以直接继承受保护的实例变量
- NSString *_name;
- NSInteger _age;
- @private //私有的实例变量, 在当前类里面可以直接访问,在类外面不可以直接访问,但是可以通过调用方法间接访问,子类不可以继承私有的实例变量
- float _weight;
- float _height;
- @public //公有的实例变量, 在类内类外都可以直接访问,子类可以直接继承公有的实例变量
- NSInteger _number;
- }
- //@property 关键字展开的实例变量是私有的
- @property (copy,nonatomic) NSString *name;
- @property (assign,nonatomic)NSInteger age;
- @property (assign,nonatomic)float weight;
- @property (assign,nonatomic)float height;
- //@property (assign,nonatomic)NSInteger number;
- - (void)setNumber:(NSInteger)number;
- - (NSInteger)number;
- - (void)printNumber;
- @end
- //
- // Dog.m
- // OC4_实例变量的作用域
- //
- // Created by zhangxueming on 15/6/16.
- // Copyright (c) 2015年 zhangxueming. All rights reserved.
- //
- #import "Dog.h"
- @implementation Dog
- {
- NSInteger abc;
- }
- - (void)setNumber:(NSInteger)number
- {
- _number = number;
- }
- - (NSInteger)number
- {
- return self->_number;
- }
- - (void)printNumber
- {
- NSLog(@"number = %li", [self number]);
- }
- @end
- //
- // main.m
- // OC4_实例变量的作用域
- //
- // Created by zhangxueming on 15/6/16.
- // Copyright (c) 2015年 zhangxueming. All rights reserved.
- //
- #import <Foundation/Foundation.h>
- #import "Dog.h"
- int main(int argc, const char * argv[]) {
- @autoreleasepool {
- Dog *xiaoHei = [[Dog alloc] init];
- // xiaoHei->_name = @"小黑";
- // xiaoHei->_age =12;
- // _name = @"xiaohei";
- xiaoHei.name =@"小黑";
- xiaoHei.age = ;
- NSLog(@"name =%@ age = %li", xiaoHei.name, xiaoHei.age);
- xiaoHei.weight = 34.2;
- xiaoHei.height = ;
- NSLog(@"weight = %.2f height = %.2f", [xiaoHei weight], xiaoHei.height);
- xiaoHei->_number = ;
- NSLog(@"number = %li", xiaoHei->_number);
- }
- return ;
- }
OC4_实例变量的作用域的更多相关文章
- Python语言特性之4:类变量和实例变量
类变量就是供类使用的变量,实例变量就是供实例使用的.如下面的代码: class Person: name = "Tacey" p1 = Person() p2 = Person() ...
- Python中变量的作用域(variable scope)
http://www.crifan.com/summary_python_variable_effective_scope/ 解释python中变量的作用域 示例: 1.代码版 #!/usr/bin/ ...
- ruby中实例变量、类变量等等的区别和联系
ruby的变量有局部变量,全局变量,实例变量,类变量,常量. 1.局部变量 局部变量以一个小写字母开头或下划线开头 局部变量有局部作用域限制(比如一个block内),它的作用域起始于声明处,结束于该声 ...
- 深入浅出 JavaScript 变量、作用域和内存 v 0.5
本文主要从原理入手分享变量和作用域的相关知识,最后结合本文所分享知识,再次深入了解下闭包的运行原理. 主要参考<JS高级程序设计> <JS权威指南> <高性能 JS> ...
- C语言的变量的作用域和生存期
一.c程序存储空间布局 C程序一直由下列部分组成: 1)正文段——CPU执行的机器指令部分:一个程序只有一个副本:只读,防止程序由于意外事故而修改自身指令: 2)初始化数据段(数据段)——在 ...
- IOS总结 静变量static、全局变量extern、局部变量、实例变量
1.静态变量 static 什么是静态变量:从面向对象的角度触发,当需要一个数据对象为整类而非某个对象服务,同时有力求不破坏类的封装性,既要求此成员隐藏在类的内部,有要求对外不可见的时候,就可以使用s ...
- 精读《javascript高级程序设计》笔记二——变量、作用域、内存以及引用类型
变量.作用域和内存问题 执行环境共有两种类型——全局和局部 作用域链会加长,有两种情况:try-catch语句的catch块,with语句. javascript没有块级作用域,即在if,for循环中 ...
- JavaScript 高级程序设计(第3版)笔记——chapter4:变量、作用域和内存问题
Chapter4 变量.作用域和内存问题 l 理解基本类型和引用类型的值 l 理解执行环境 l 理解垃圾收集 4.1基本类型和引用类型的值 l ECMAScript变量包含两种不同数据类型的值 ...
- java局部/成员/静态/实例变量
局部变量和成员变量主要是他们作用域的区别成员变量个是类内部:局部变量是定义其的方法体内部(或者方法体内部的某一程序块内——大括号,主要看定义的位置).另外,成员变量可以不显式初始化,它们可以由系统设定 ...
随机推荐
- iOS UIButton EdgeInsets
说一下系统的button,image 和 title的位置关系 默认image 和 title的位置关系: 随便画了草图,有点丑,不过不妨碍理解: 第一种:在button上只设置文字,这个时候,but ...
- SAP BW标准模型简介(BW星形模型 BW Star Schema )
标准星型模型是 数据仓库中一种常用的组织信息和数据的多维数据模型.它由中心的一个事实表(Fact Table)和一些围绕它的维度表(Dimensional Table)组成. 事实(Fact)着眼于 ...
- synthesize(合成) keyword in IOS
synthesize creates setter and getter (从Objective-C 2.0开始,合成可自动生成存取方法) the setter is used by IOS to s ...
- 关于AS3的垃圾回收
FlashPlayer运行GC(Gabage Collection)的时间并不固定,它会根据你的内存的占用情况来决定运行GC的时间.它会根据用户机器的内存值来设定一个阀值,然后将程序的占用内存量保存在 ...
- asp.net常用函数
ASP.NET网络编程中常用到的27个函数集 Abs(number) 取得数值的绝对值. Asc(String) 取得字符串表达式的第一个字符ASCII 码. Atn(number) 取得一个 ...
- Android(java)学习笔记96:如何改变spinner系统自带的字体和颜色
1.首先我们要知道spinner系统自带字体和颜色本质: 原生的Spring 控件是无法更改字体和颜色的... 从下面的代码可以看出...红色的标注显示使用的是Android默认的布局.. Spinn ...
- arcgis mdb和gdb编辑区别
arcgis gdb保存时错误会提供行包含错误值:[DJH3],mdb不会,只会提示字段值太小
- Oracle 经典语法(二)
--提示:工资 = 薪金 + 佣金 1. 找出EMP表中的姓名(ENAME)第三个字母是A 的员工姓名.SELECT ENAME FROM SCOTT.EMP WHERE ENAME LIKE '__ ...
- 安装Laravel之坎坷记述
写这篇文章记录以及分享我安装Laravel框架的一些经验 过程如下: 1.按照官方的描述,第一步是先安装composer来管理依赖=>composer下载传送门 下载之后点击安装,按照提示它需要 ...
- CF Two Buttons (BFS)
Two Buttons time limit per test 2 seconds memory limit per test 256 megabytes input standard input o ...