首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
OC-成员变量的作用域
】的更多相关文章
OC中的点语法,成员变量的作用域
点语法 点语法本质是函数的调用,不是像java中那样,是用来访问成员变量的:oc中访问成员变量是用 -> 访问的: Person *p = [Person new]; p.age = 10; // 如果点语法是进行了赋值操作,那么就相当于调用了setter方法: [p.age]; // 这样不赋值相当于调用了getter: 注意点: 尽量不要在setter或getter中调用点语法,容易引发死循环:死循环是由于递归调用引发的: // 在setter调用点语法 - (void)setAge:(in…
OC开发系列-成员变量的作用域
成员变量的作用域 OC中成员变量有四种作用域,同时每一种作用域对应着响应的关键字. * @private:自能在当前类的实现@implementation中访问 * @protected: 可以在当前类以及子类的实现@implementation中直接访问 默认 * @public: 任何地方都可以直接访问 * @package: 同一个"体系结构"框架可以访问.介于@private和@public之间 在@implementation实现中声明的成员变量默认是私有的. #import…
Objective-C 点语法 成员变量的作用域 @property和@synthesize关键字 id类型
点语法 1.利用点语法替换set方法和get方法 方法调用 Student *stu = [Student new]; [stu setAge : 18]; int age = [stu age]; 点语法 stu.age = 18; int age = stu.age; 2.点语法的本质 其实点语法的本质还是方法调用 当使用点语法的时候 编译器会自动展开成相应的方法 3.死循环注意 - (void) setAge : (int) age { self.age = age;//会引起死循环 }…
「OC」点语法和成员变量的作用域
一.点语法 (一)认识点语法 声明一个Person类: 1 #import <Foundation/Foundation.h> 2 3 @interface Person : NSObject 4 { 5 int _age; 6 NSString *_name; 7 } 8 9 - (void)setAge:(int)age; 10 - (int)age; 11 12 - (void)setName:(NSString *)name; 13 - (NSString *)name; 14 15…
OC 成员变量作用域
1. 成员变量作用域: @public :在任何地方都能直接访问对象的成员变量. @private :只能在当前类的对象方法中直接访问.(@implementation中默认是@private) @protected :可以在当前类及其子类的对象方法中直接访问.(@interface中默认是@protected) @package :只要处在同一框架中就能直接访问对象的成员变量.介于private和public之间. @interface和@implementat…
OC 成员变量 ( -> 使用 )
@interface Student : NSObject { // @public // @protected // @private // 默认的作用域是@protected int age; @protected int no; @public float height; } @property (nonatomic, assign) int age; @end #import <Foundation/Foundation.h> #import "Student.h"…
OC语法2——OC的类,方法,成员变量的创建
类的创建: 与Java不同的是,OC创建一个类需要两个文件(.h和.m文件) 1> xxx.h:声明文件.用于声明成员变量和方法.关键字@interface和@end成对使用. 声明文件只是声明该类里成员变量和方法的格式(返回值类型,参数类型等),并不会实现它们. 在OC中继承用冒号表示,所有类都是继承于NSObject的,所以Sudent:NSObject.(这是和Java不同的,Java中所有类都继承于Object,但不用每定义一个类都写明继承关系,所有类都是默认继承于Object类的).…
java中的成员变量和局部变量区别
1.作用域不同 成员变量的作用域在整个类内部都是可见,可用的: 局部变量的作用域仅限于定义它的方法,不能被其它方法调用: 2.初始值不同 java会给成员变量一个初始值,初始值为0: java不会给局部变量赋予初始值,必须自己赋值: 3.在同一个方法中,不允许有同名局部变量: 在不同的方法中,可以有同名的局部变量: 4.成员变量和局部变量同名时,局部变量的赋值具有更高的优先级,优先取局部变量的值:…
java变量的作用域
1.可分为成员变量和局部变量 两者的作用域不同:局部变量的作用域仅限于定义它的方法,方法外部无法访问,成员变量的作用域在整个类内部都可以访问如果访问权限允许的话,类外部也可以使用 初始值不同:对于成员变量,如果类内部没有给初始值,java会给它一个默认值,如数据类型值为0,引用类型的值为null,但java不会给局部变量赋予初值,因此局部变量必须要定义赋值之后才能使用局部变量可以和成员变量同名,在使用时,局部变量的优先级更高…
JAVA:成员变量和局部变量的区别
1.作用于不同: 局部变量的作用域仅限于定义它的方法 成员变量的作用域在整个类的内部都是可见的 2.初始值不同 JAVA会给成员变量一个初始值 JAVA不会给局部变量赋予初始值 3.在同一个方法中,不允许有同名局域变量 在不同方法中,可以有同名局域变量 4.两类变量同名时,局域变量具有更高的优先级…