OC开发系列-成员变量的作用域

成员变量的作用域

OC中成员变量有四种作用域,同时每一种作用域对应着响应的关键字。

* @private:自能在当前类的实现@implementation中访问

* @protected: 可以在当前类以及子类的实现@implementation中直接访问 默认

* @public: 任何地方都可以直接访问

* @package: 同一个"体系结构"框架可以访问。介于@private和@public之间

在@implementation实现中声明的成员变量默认是私有的。

#import "Person.h"

@implementation Person
{
    int _score; // 默认私有
}
@end

原文地址:https://www.cnblogs.com/CoderHong/p/8824736.html

时间: 2024-08-29 16:49:28

OC开发系列-成员变量的作用域的相关文章

Objective-C基础学习笔记(六)-property作用-构造方法-OC成员变量的作用域

一. 点语法 点语法的本质是方法调用,并不是访问成员变量,编译器看到点语法有两种处理 1 .是赋值,赋值的就是展开为set方法 2. 不是赋值:展开为set方法 使用示例: Person类的声明: 点语法的测试: 二. OC成员变量的作用域 @public :任何地方访问 @private :只能在当前类的对象方法中直接访问 @protected :能在当前类和子类中直接访问(默认) @package :只要处于同一个框架中就能直接访问对象成员变量   三. @property 与 @synth

黑马程序员-OC中的点语法,成员变量的作用域

点语法 点语法本质是函数的调用,不是像java中那样,是用来访问成员变量的:oc中访问成员变量是用 -> 访问的: Person *p = [Person new]; p.age = 10; // 如果点语法是进行了赋值操作,那么就相当于调用了setter方法: [p.age]; // 这样不赋值相当于调用了getter: 注意点: 尽量不要在setter或getter中调用点语法,容易引发死循环:死循环是由于递归调用引发的: // 在setter调用点语法 - (void)setAge:(in

黑马程序员---Objective-C基础学习---点方法使用和成员变量的作用域

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一.点语法 oc设计点语法的目的就是让其他语言的开发者能快速上手oc这门语言,oc点语法与java里面很像,那什么是点语法呢,点语法怎么用呢? 1.点语法和set和get方法有关 这里新建一个项目,添加一个Person类 Person.h 1 // 2 // Person.h 3 // zijia 4 // 5 // Created by zou on 5/10/15. 6 // Copyri

成员变量的作用域,@property,@synthesize

成员变量的作用域 public:在任何地方都能直接访问对象的成员变量 private:只能在当前类的对象方法中直接访问(@implement中默认的) protected:可以在当前类及其子类的对象方法中直接访问(@interface中默认的) package:只要处在同一框架中,就能直接访问对象的成员变量 @property,@synthesize @property:可以自动生成某个成员变量的setter.getter方法: @synthesize:自动生成成员变量的setter.gette

黑马程序员----成员变量的作用域(作用范围)

成员变量的作用域 成员变量的作用域共分为4种: @private :只能在当前类的实现(@implementation)中直接访问,即当前类的对象方法中访问. @protected : 可以在当前类以及其子类的实现(@implementation)中直接访问,默认. @public : 任意地方都可以直接访问. @package : 同一个“体系”(框架)内可以直接访问,介于@private和@public之间. 注意点:

黑马程序员——OC学习小结------成员变量以及对应的set、get方法

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一.总结 1.只有利用类名调用类方法的时候,不需要在类名后面写*.其他情况下,类名后面统一加上一个* Circle *c1 = [Circle new]; - (BOOL)isInteractWithOther:(Circle *)other; 2.返回值是BOOL类型的方法,方法名一般都以is开头 - (BOOL)isInteractWithOther:(Circle *)other; 3.

在类中成员变量的作用域类型

作用域类型一共有四种 1,@public 在任何地方都能直接通过成员变量名直接访问成员变量.(不推荐使用) 2,@private 只能在当前类的对象方法中直接通过成员变量名访问成员变量,在其他地方需要通过geter和seter方法访问.(@implementation中被声明成员变量的默认类型) 3,@protected 只能在当前类及其子类的对象方法中直接通过成员变量名访问成员变量,在其他地方需要通过geter和seter方法访问.(@interface中被声明成员变量的默认类型) 4,@pa

黑马程序员 成员变量的作用域,property,id,构造方法,点语法

#import <Foundation/Foundation.h> @interface Person : NSObject { /* 成员变量作用域有四种: [email protected]:能在程序中任何地方直接访问成员变量 [email protected]:能在当前类和子类中直接访问成员变量(默认情况下) [email protected]:只能在当前类中直接访问成员变量(@property) [email protected]:在同一框架中能直接访问成员变量 */ @provate

OC基础--对成员变量的封装

#import <Foundation/Foundation.h> //日期结构体 typedef struct{ int year; int month; int day; } Date; @interface School : NSObject { //@public NSString * _name; NSString * _address; Date _createTime; } - (void) introduction; @end #import "School.h&qu