05-类--+-号使用

#import <Foundation/Foundation.h>
/*
对象方法
1> 减号 - 开头
2> 只能由对象来调用
3> 对象方法中能访问当前对象的成员变量(实例变量)

类方法
1> 加号 + 开头
2> 只能由类(名)来调用
3> 类方法中不能访问成员变量(实例变量)

类方法的好处和使用场合
1> 不依赖于对象,执行效率高
2> 能用类方法,尽量用类方法
3> 场合:当方法内部不需要使用到成员变量时,就可以改为类方法

可以允许类方法和对象方法同名
*/

@interface Person : NSObject
{
    int age;
}

// 类方法都是以+开头
+ (void)printClassName;

- (void)test;
+ (void)test;

@end

@implementation Person

+ (void)printClassName
{
    // error:instance variable ‘age‘ accessed in class method
    // 实例变量age不能在类方法中访问
    //NSLog(@"这个类叫做Person-%d", age);
}

- (void)test
{
    NSLog(@"111-%d", age);

    //[Person test];
}

+ (void)test
{
    // 会引发死循环
    //[Person test];

    NSLog(@"333");

    // 会引发死循环
//    /[Person test];
}

@end

int main()
{
    //[Person printClassName];

    [Person test];

    //Person *p = [Person new];
    //[p test];

    /*
     -[Person printClassName]: unrecognized selector sent to instance 0x7fa520c0b370
     */
    // 系统会认为现在调用的printClassName是个对象方法
    //[p printClassName];

    return 0;
}

  

时间: 2024-08-10 13:21:40

05-类--+-号使用的相关文章

第十章 类、对象与实现

                                                                                      第十章 类.对象与实现   万物都是容器,容器的符号是U:对象就是单个容器的别名.一切皆对象,具有某些相同属性特征的对象归纳成类.对象(Object)是类(Class)的一个实例(Instance):类是对象的模板.如果将对象比作房子,那么类就是房子的蓝图.我们以自然语言去描述世界,而计算机是用各种数据结构去描述世界:数据可以

第二十章 内存等空间管理类的实现

                   第二十章   内存等空间管理类的实现      空间.时间对我来说,或许永远是一个迷.即使我曾经深入到原子的最深处,即使人类科学家是自欺欺人,即使我了解到的最深层次的部分真理是正确的:那又能怎样?那都是过去式,在那光明与黑暗一体之地.我的灵魂受伤了:我不得不回到电脑这块充满垃圾的地方修心养性. 或许我的论述方法不好,要完全理解本章是有点难度:你要对简单的空间概念需要一定的理解,即使只是论述1D的线性平面空间中的2个基本方法:分配与释放,但也很复杂.要知道LI

第十三章 进程、线程类的实现

                                        第十三章   进程.线程类的实现         多线程是指在一个进程内可以同时运行多个任务,每个任务由一个单独的线程来完成.线程是进程运行的基本单位,一个进程中可以同时运行多个线程.如果程序被设置为多线程方式,可以提高程序运行的效率和处理速度. 多个线程共用一个进程的资源:进程的调度.切换是在10ms的"时钟滴答"定时中断程序里进行.如果一个线程获得CPU,那么在下一个Tick到来前:是不可能被切换出去的

重磅!龙华大道1号!!多条新深圳地铁线路曝光,观澜人民有福了!!

继日前深圳3.6.10.16号线延长线可行性和勘察设计总承包公告发布后,拯救龙华三大地铁线,22号线.27号线.25号线又有新动作了,龙华人民看过来!昨天,小编在龙华区公共资源交易中心发现,深圳市城市轨道交通22.25.27号线龙华段线站位及场段方案项目已完成评审. 中标结果显示:22号线由北京城建设计发展集团股份有限公司中标.25号线由中铁二院工程集团有限责任公司中标.27号线由广州地铁设计股份有限公司中标. 从3条地铁大致走向图可以看出,每条线都到达龙华大浪.观澜等零地铁局部区域,未来这一规

应用概率统计模板

apsart.cls 1 % !Mode:: "TeX:UTF-8" 2 %% 3 %% This is file `APSart.cls', 4 %% 5 %% Copyright 2006-2012 6 %% 7 %% ---------------------------------------------------------------------- 8 %% 9 %% It may be distributed and/or modified under the 10 %

中科院计算所论文模板

icmsec.cls \ProvidesClass{icmsec}[2006/05/09 v0.5, by Ge Xiangyang and Zhang Lin-bo] % % Class Options: % preprint - Preprint (default). TO BE IMPLEMENTED!!! % phd - PhD thesis (default) % master - Master thesis % makeindex - '\uepackage{makeidx}' an

2018左其盛好书榜(截至7月6日)

这个清单是今年以来我看过并且给了好评(3.5星-5星)的书,以经管类书为主. 经管类书我看的多,评级的参考意义比其他类别更大. 评级标准: 5星:大师经典: 4星:不错: 3星:凑乎: 2星:较差: 1星:特别差 经管类好书: 有洞察有实践敢骂人,本土原创管理书中罕见的精品:4.5星|肖知兴<以热爱战胜恐惧> 城市规模越大,工资.GDP.犯罪率越高:4.5星|<规模> 5星|<创新陷阱>:给国内医疗创业公司泼点冷水 5星|<原则>:极度理性的对冲基金掌门人的

2018左其盛好书榜(截至8月10日)

这个清单是今年以来我看过并且给了好评(3.5星-5星)的书,以经管类书为主. 经管类书我看的多,评级的参考意义更大. 评级标准: 5星:大师经典: 4星:不错: 3星:凑乎: 2星:较差: 1星:特别差 经管类好书: 5星|<创新的资本逻辑>:量化研究金融与创新的关系,学术论文概要 5星|<城市与国家财富>:经济发展的基本单位是城市而不是国家 4.5星|<今日简史>:人类三个大敌可能会促进政治全球化 有洞察有实践敢骂人,本土原创管理书中罕见的精品:4.5星|肖知兴<

python--Pandas(一)

一.Pandas简介 1.Python Data Analysis Library 或 pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的.Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具.pandas提供了大量能使我们快速便捷地处理数据的函数和方法.你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一. 2.Pandas 是python的一个数据分析包,最初由AQR Capital Management于

2018左其盛好书榜(截至10月31日)

这个清单是今年截至10月31日我看过并且给了好评(3.5星-5星)的书,以经管类书为主. 这个好书榜以前不定期更新,现在决定每月初更新,内容截至上月底. 在公众号的菜单中可以找到持续更新的好书榜.差评榜.总榜. 经管类书我看的多,评级的参考意义更大. 评级标准: 5星:大师经典: 4星:不错: 3星:凑乎: 2星:较差: 1星:特别差 经管类好书(4.5星和5星)   5星|<突破现实的困境:趋势.禀赋与企业家的大战略>:战略书中少见的精品,麦肯锡书中少见的精品 4.5星|<中央帝国的财