Objective-C 成员变量的访问修饰即成员变量可见性解析

总体来说Objective-C的访问成员变量可见性和C++基本一样,只是多了个@package. 以下是详细说明:

例子:

@interface CTPerson : NSObject
{
 @private
    int _age;
 @protected
    NSString *_name;
 @public
    double _height;
 @package
    double _weight;
}
  

@private:私有的,只有在本类的对象方法中可以直接访问它

@protected:受保护的:只能在本类和子类中可以直接访问,不能在外部访问

@public:公共的,在本类,子类,外部都可以访问

@package: 主要用在框架内部,在框架内部相当于@protected,在框架外部相当于@private

补充说明: 在实现文件里面也可以定义成员变量,但是这个成员变量是私有的,无论使用什么样的可见性修饰符,修饰它,它都是私有的

例子:

@implementation CTPerson
{
 @public
    int _sex; //该成员变量也会被当成私有的
}
时间: 2024-10-05 19:12:54

Objective-C 成员变量的访问修饰即成员变量可见性解析的相关文章

内部类练习题(外部类访问内部类成员、内部类访问外部类成员、顶级类访问内部类成员)

package com.Summer_0429.cn; /** * @author Summer * 内部类实例: * 定义一只猫类,猫有: * 1.重量 * 2.猫的身体: * 1)颜色 * 2)显示猫的身体的信息(): * 3.显示猫的整体信息(): * 要求:创建一只小猫,显示它的整体信息. * */ class Cat{ private double weight; public Cat(double weight){ this.weight = weight; } //内部类:成员内部

.NET 基础 一步步 一幕幕 [注释、命名规则、访问修饰符、数据类型、常量、变量]

注释.命名规则.访问修饰符.数据类型.常量.变量 话说一个不会写注释的程序猿的不是一个好吃货,我们本篇就从注释开始说起好了. 在C#中有三种注释: 第一种:单行注释  以//开头,后面的就是注释内容 –  //单行注释 –  第二种:多行注释  以 /*开头   */结束 之间的是注释内容 –  /*  */多行注释 –  第三种:文档注释  在方法或类的上一行输入 ///就会产生 –  /// –  ///文档注释 –  /// –  So....截图就是这三种注释的用法了. 再来说说命名规则

1.27 Java基础总结 ①访问修饰符访问权限②类和方法的基本声明和使用1.27 Java基础总结 ①访问修饰符访问权限②类和方法的基本声明和使用

1.27 Java基础总结 ①访问修饰符访问权限②类和方法的基本声明和使用 成员变量(属性)①类中添加成员变量 访问修饰符 类型 变量名 private String name ②实例化对象调用类的构造方法类构造对象,Teacher one = new Teacher(): 有static的可以直接调用,因为static是类级别的 ③JavaBean里边一般规则应该有公共的无参构造应该有符合命名规范的get/set方法 ④对象的回收:没有任何引用指向该对象时,GC会回收 主动回收:对象 = nu

C# 封装的访问修饰符

封装 被定义为"把一个或多个项目封闭在一个物理的或者逻辑的包中".在面向对象程序设计方法论中,封装是为了防止对实现细节的访问. 抽象和封装是面向对象程序设计的相关特性.抽象允许相关信息可视化,封装则使开发者实现所需级别的抽象. C# 封装根据具体的需要,设置使用者的访问权限,并通过 访问修饰符 来实现. 一个 访问修饰符 定义了一个类成员的范围和可见性.C# 支持的访问修饰符如下所示: Public:所有对象都可以访问: Private:对象本身在对象内部可以访问: Protected

public等访问修饰符和final,static的用法

一.访问修饰符 1.public:表明该数据成员.成员函数是对所有用户开放的,所有用户都可以直接进行调用 2.private:表示私有,私有的意思就是除了class自己之外,任何人都不可以直接使用,私有财产神圣不可侵犯嘛,即便是子女,朋友,都不可以使用. 3.protected:对于子女.朋友来说,就是public的,可以自由使用,没有任何限制,而对于其他的外部class,protected就变成private. 对比Table: 作用域 当前类 同一package 子孙类 其他package

转:C语言中的static变量和C++静态数据成员(static member)

转自:C语言中的static变量和C++静态数据成员(static member) C语言中static的变量:1).static局部变量        a.静态局部变量在函数内定义,生存期为整个程序运行期间,但作用域与自动变量相同,只能在定义该变量的函数内使用.退出该函数后, 尽管该变量还继续存在,但不能使用它.        b.对基本类型的静态局部变量若在说明时未赋以初值,则系统自动赋予0值.而对自动变量不赋初值,则其值是不定的.2).static全局变量        全局变量本身就是静

20151024_004_C#基础知识(C#中的访问修饰符,继承,new关键字,里氏转换,is 和 as,多态,序列化与反序列化)

1:C#中的访问修饰符 public: 公共成员,完全公开,没有访问限制. private: 私有的,只能在当前类的内部访问. protected: 受保护的,只能在当前类的内部以及该类的子类中访问. internal: 只能在当前项目中访问,在同一个项目中,internal和public的权限是一样的. protected internal: protected + internal权限. 1.1:能够修饰类的访问修饰符只有两个: public / internal 1.2:接口中的成员不允许

.Net学习笔记----2015-07-21(C#基础复习07,关键字、访问修饰符)

1.new关键字: 1).创建对象 2).隐藏从父类继承过来的成员 什么是面向对象? 一种分析问题的方式(增强了程序的可扩展性) 面向对象的三大特性:封装.继承.多态 类?对象?类和对象的区别? *类是模子,确定对象将会拥有的特征(属性)和行为(方法) *对象是一个你能够看的到.摸得着的具体实体---万物皆对象 ***类是模具,创建对象的模具,抽象的. 1).类是一种数据类型,用户自定义的数据类型 2).类的组成:字段.属性.方法.构造函数等 ***对象是具体的,是类的具体实例.对象具有属性(特

PHP中有三种访问修饰符 默认是public

PHP中有三种访问修饰符,分别是: public(公共的.默认) protected(受保护的) private(私有的) 它们可以分别用在类的属性和方法上(类的属性和方法统称为类的成员),用来修饰类成员的访问权限. public(公共的.默认) 在PHP5中如果类没有指定成员的访问修饰符,默认就是public的访问权限. /* 以下两个方法声明访问权限效果相同 */ function say(){}; publilc function say(){}; 当类的成员被声明为public的访问修饰