成员变量作用域: oc

  1. 有四种;
  2. 公共作用域意味着在任何地方都可以访问成员变量;
  3. 私有作用域只能在当前类的对象方法中直接访问;如person.m;子类如果需要访问,需要通过set和get方法;
  4. 保护作用域能在当前类和子类的对象方法中直接访问;
  5. 父类的私有变量,在子类中不能直接访问,但是有私有变量的存在,需要通过set和get方法来访问;
  6. 什么都不写,默认是protected;
  7. @public:在任何地方都能直接访问对象的成员变量
  8. @private:只能在当前类的对象方法中直接访问;
  9. @protected:可以在但钱类及子类的对象方法中直接访问(默认就是@protected)
  10. @package:只要处在同一个框架中就能直接访问对象的成员变量;
  11. 在.h文件的成员变量是默认是protected的,在.m中的成员变量是默认是private的,就算写成@public也没有用;对子类也是私有的;在.m文件中声明的成员变量名不能与.h文件中的相同个;除非把它放在.main文件里面才能直接访问;
  12. 超类就是父类superclass
时间: 2024-10-24 18:31:50

成员变量作用域: oc的相关文章

黑马程序员—OC点语法和成员变量作用域

一.点语法 1.OC中点语法是方便从事别的语言开发的程序员迅速的转到OC开发当中,先看下面这个例子: 1 // 声明一个Person类 2 @interface Person : NSObject 3 { 4 int _age; 5 NSString *_name; 6 } 7 - (void)setAge:(int)age; 8 - (int)age; 9 @end 10 11 // 实现Person类 12 @implementation Person 13 - (void)setAge:(

黑马程序员------OC之点语法、成员变量作用域、@property和@synthesize

-----iOS培训.Android培训.Java培训,期待与您交流----- OC之点语法.成员变量作用域.@property和@synthesize 一.点语法 1)点语法基本概念:当我们使用面向对象的封装特性后,将成员变量私有化,采取使用setter方法和getter方法向外面提供成员变量访问方案.那么我们知道,OC的调用方法的方式是很独特的,采用的是 [对象名(类名)  方法名]  的方式 ,那么很多Java.C#程序员就不习惯了,在Java.C#这些主流的面向对象语言中,调用方法的方式

[Objective-c 基础 - 2.5] .h和.m文件,点语法,成员变量作用域

A. 命令行编译和XCode编译 1.在存在多个.m源码实现文件的情况下,若根据需要引入.m文件,使用命令行仅仅编译主.m文件即可,但是XCode会同时编译全部.m文件,会发生编译错误(重复定义全局变量或函数) 解决方案: 使用.h和.m文件,分开声明和定义 B.XCode功能 1.自动生成.h和.m 2.保存.引用快捷代码块 3.方法索引注释 #pragma mark 方法的说明 #pragma mark - 方法的说明 加入分组线 4.链接错误查看,使用左上角的感叹号logo C.点语法 实

Objective-C - 成员变量作用域

成员变量作用域 /** * * @public : 在任何地方都能直接访问对象的成员变量 * @private : 只能在当前类的对象方法中直接访问(@implementation中默认是@private) * @protected : 可以在当前类及其子类的对象方法中直接访问 (@interface中默认就是@protected) * @package : 只要处在同一个框架中,就能直接访问对象的成员变量 * @interface和@implementation中不能声明同名的成员变量 */

Objective-C之成魔之路【9-类构造方法和成员变量作用域、以及变量】

重开发者的劳动成果,请勿转载 构造方法 出于初始化类中的成员变量的需要, 可以提供一个方法用于此目的, 这个方法就叫构造方法或构造方法(Constructor). 与C++和Java不同, Objective-C命名是没有限制的, 并且有返回值本身类型指针. 以音乐类举例: Song.h文件 @interface Song : NSObject { NSString *title; NSString *artist; long int duration; } //操作方法 - (void)sta

使用结构中的成员变量在oc 中进行数据传递

// //  ViewController.m //  tttttttt // //  Created by 张凯泽 on 16/1/20. //  Copyright © 2016年 rytong_zkz. All rights reserved. // #import "ViewController.h" typedef struct { char * name; char * sex; int age; }Person; @interface ViewController ()

黑马程序员---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,id,构造方法,点语法

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

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

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