oc25--私有变量私有方法

672530440 672530440     2022-09-16     527

关键词:

//
//  Person.h

#import <Foundation/Foundation.h>

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

// 如果只有方法的实现, 没有方法的声明, 那么该方法就是私有方法
// 在OC中没有真正的私有方法, 因为OC是消息机制
//- (void)test;
@end
//
//  Person.m

#import "Person.h"

@implementation Person
{
    // 实例变量(成员变量)既可以在@interface中定义, 也可以在@implementation中定义
    // 写在@implementation中的成员变量, 默认就是私有的成员变量, 并且和利用@private修饰的不太一样, 在@implementation中定义的成员变量在其它类中无法查看, 也无法访问
    
    // 在@implementation中定义的私有变量只能在本类中访问(私有变量:private修饰,.m文件中写)
    double _score;
}

- (void)test
{
    NSLog(@"score = %f", _score);
}
@end
//
//  main.m

#import <Foundation/Foundation.h>
#import "Person.h"

int main(int argc, const char * argv[]) {

    Person *p = [Person new];
    // 无论使用什么成语变量修饰符修饰成员变量, 我们都可以在其它类中看到这个变量
    // 只不过有得修饰符修饰的变量我们不能操作而已
//    p->_age;
 //   p->_height;
//    p->_name;
    NSLog(@"%f",p->_weight);
//    [p test];
    
    /*
    id pp = [Person new];
    [pp test];
    
    [p performSelector:@selector(test)];
    */
    return 0;
}

 

为啥我不能在 main 方法中调用私有变量?

】为啥我不能在main方法中调用私有变量?【英文标题】:Whycan\'tIcallaprivatevariableinmainmethod?为什么我不能在main方法中调用私有变量?【发布时间】:2012-11-1801:25:29【问题描述】:此代码应该在输入对话框中接收全名字符串示例“... 查看详情

python私有变量与私有方法

python的私有化是为了规划私有属性,避免非相关的访问【假如!我有老婆,你不能直接知道我老婆是谁,你只有问我才会知道,即我的私有属性只有我知道】在python中定义私有变量和私有方法只需要在变量名或函数名前加上"__"... 查看详情

2-1oc类别(分类)(代码片段)

一、类别的作用1.声明私有方法。2.分解体积庞大的类文件。3.把Framework私有方法公开。 二、类别的特点1.运行时决议。2.可以为系统类添加类别。(区别于扩展) 三、类别中可以添加什么1.实例方法。2.类方法。3.协议。4.... 查看详情

两种创建私有变量私有方法的方法

...特权方法,两个特权方法作为构造函数的闭包可以访问到私有变量name,所以创建构造函数的实例之后只能通过这两个特权方法访问到name这个私有变量(并且每个实例的name不是同一个) 在私有作用域中创建构造函数  ... 查看详情

函数中的私有变量和特权方法

定义  【1】【私有变量】  任何在函数中定义的变量,都可以认为是私有变量,因为不能在函数外部访问这些变量。私有变量包括函数的参数、局部变量和在函数内部定义的其他函数  【2】【特权方法】  如果在函数... 查看详情

类的私有变量和私有方法(代码片段)

类的私有变量和私有方法格式:双下划线+变量名/方法名,变量分为静态变量和动态变量私有变量和方法只能在本类中的方法内调用,不能在类以外调用私有变量和方法也不能通过类来继承,不能通过子类调用如果希望通过对象... 查看详情

封装

私有成员变量、私有成员方法案例私有成员变量和私有成员方法无法被类对象直接使用,否则会报错如下案例,类对象使用私有成员方法会报错如下案例,类对象使用私有成员变量会报错私有成员变量和私有成员方法可以被类的... 查看详情

我可以在公共方法中声明私有变量吗?

】我可以在公共方法中声明私有变量吗?【英文标题】:CanIDeclareprivatevariablesinsideapublicmethod?【发布时间】:2018-11-1204:03:01【问题描述】:这个问题是我在一次采访中问到的。我们可以在公共方法中声明私有变量吗?如果可以,... 查看详情

引用对象变量如何调用私有方法[重复]

】引用对象变量如何调用私有方法[重复]【英文标题】:Howdidtheprivatemethodcalledbyareferenceobjectvariable[duplicate]【发布时间】:2018-10-1806:30:18【问题描述】:如果它是私有的,bird是如何调用fly方法的publicclassBirdprivatestaticvoidfly()System.ou... 查看详情

访问私有变量的 Java 静态方法

】访问私有变量的Java静态方法【英文标题】:Javastaticmethodsaccessingprivatevariables【发布时间】:2011-07-0423:40:54【问题描述】:我的印象是私有非静态变量只能通过在变量所在的对象上调用的方法来访问,但事实并非如此。有人可... 查看详情

类变量与实例变量析构函数私有属性与私有方法

#coding=utf-8"""实例的变量又叫类的静态属性类的方法又叫类的动态属性类变量与实例变量的区别x不用实例化就可以调用所有实例都可以调用x"""classrole():x="1234"def__init__(self,name):self.name=nameprintrole.xprintrole("zq").x#可以在外面给实例加... 查看详情

是否可以在私有方法中定义公共变量?

】是否可以在私有方法中定义公共变量?【英文标题】:Isitpossibletodefineapublicvariableinaprivatemethod?【发布时间】:2016-08-2916:57:38【问题描述】:我有一个有2个私有方法的类。在方法A中,我定义了一个变量,比如varA计数。在方法B... 查看详情

私有属性,私有方法,类变量,实例变量,单下划线,双下划线

1、私有属性__age,不能通过实例对象直接调用,而是通过一个方法来调用    classDog:      def__init__(self,new_age):        self.__age=new_age      defget_age(self):        returnself.__age    wang_cai=Dog... 查看详情

为啥我可以从 main 方法访问私有变量?

】为啥我可以从main方法访问私有变量?【英文标题】:WhycanIaccessaprivatevariablefrommainmethod?为什么我可以从main方法访问私有变量?【发布时间】:2011-06-1002:24:38【问题描述】:packagecom.valami;publicclassFerrariprivateintv=0;privatevoidalam()Syst... 查看详情

如何在公共方法中创建私有变量

】如何在公共方法中创建私有变量【英文标题】:Howtomakeaprivatevariableinapublicmethod【发布时间】:2014-10-0606:17:11【问题描述】:我有一个公共方法,但里面有一个变量,我不希望其他类访问。我可以这样吗?publicstaticvoidexample()priv... 查看详情

Python中的私有变量和方法[重复]

】Python中的私有变量和方法[重复]【英文标题】:PrivateVariablesandMethodsinPython[duplicate]【发布时间】:2011-03-2401:18:45【问题描述】:可能重复:Themeaningofasingle-andadouble-underscorebeforeanobjectnameinPython对于Python中的私有成员和方法,我应... 查看详情

Python - 从私有静态方法设置类变量

】Python-从私有静态方法设置类变量【英文标题】:Python-setclassvarfromaprivatestaticmethod【发布时间】:2021-12-2904:56:56【问题描述】:我在python中编写了以下基本静态类:fromabcimportABC,abstractmethodimporttypingfrommain_moduleimportutilsclassBaseCLS(A... 查看详情

在 Objective-C 中定义私有变量的最佳方法

】在Objective-C中定义私有变量的最佳方法【英文标题】:BestwaytodefineprivatevariablesinObjective-C【发布时间】:2012-11-1201:00:04【问题描述】:我想在MyClass.m文件中定义私有实例变量。在我看来有两种方法可以做到:使用类扩展@interfaceH... 查看详情