类方法: oc

  1. 类方法是以+开头的
  2. Person *p = [Person new];这个是类方法;
  3. [p test];//这个是对象方法
  4. 类方法的调用需要创建对象;类方法只能用类来调用;对象方法只能通过对象来调用;
  5. + (void) test;
  6. - (void) test;
  7. 上面两个可以同时存在,因为一个是类方法,一个是对象方法;
  8. 细节:方法只有两种:类方法;对象方法;
  9. 对象方法:减号 - 开头;只能有对象来调用;
  10. 类方法:加号 + 开头;只能有类(名)来调用;
  11. 类方法的好处:
    1. 不依赖于对象,执行效率高
    2. 在开发中,能用类方法尽量用类方法;
    3. 场合:当方法内部不需要使用到成员变量是,就可以改为类方法;
  12. 没有任何成员变量和里面的方法都是类方法的类是工具类
  13. 假如一个方法用到另一个方法,就可以去调用它;
  14. 对象方法可以调用类方法;
  15. - (void) test
    {
    [Person test];
    }
    下面的代码会导致死循环
    + (void)test
    {
    [Person test];
    }
    下面的代码会报错,不会打印;
    
        + (void)test
        {
        [Person test];
        NSLog(@"打印");
        }
    
时间: 2024-10-07 02:53:18

类方法: oc的相关文章

OC -- 第一个类

类名:Car 属性:轮胎个数.时速 行为:跑 完整写一个类:类的声明和实现 1.    类的声明 代码: // NSObject 再Foundation框架中 #import <Foundation/Foundation.h> // NSObject 基类 @interface Car : NSObject { // 声明对象属性(成员变量,默认会初始化为0) @public int  wheels;  // 轮胎个数 int  speed;  //  时速 } // 方法(行为) // 只要

OC基础知识(二)

1.Objective-C类和对象 Objective-C 简称OC. OC是c语言的超集,简单来说就是,OC全面包容C语言,也就是在OC中,可以使用C语言代码,编译器可以兼容C语言,并对其进行编译,执行. 1.面向过程po:Procedure Oriented 面向过程,就是在一个整体思路定好的情况下,按照这个思路一直走下去,这种情况的代码,就会比较稳定.但是,这种面向过程的思想,会比较坑爹,为什么这么说?因为,当需求改变的时候,也就是逻辑中,有一个步骤改变的话,就会改动整个程序,相当于重新写

Swift学习的第一个demo,讲解了一些常用的知识点

/** 1. OC [UIView alloc] initWithXXX:] Swift UIView(XXX:) 类名() == alloc / init 等价 2. 类方法 OC [UIColor redColor] Swift UIColor.red 3. 访问当前对象的属性,可以不使用'self.' 建议:都不用,在编译器提示的时候,在添加,会对'语境'有更好地体会 原因:闭包(类似于OC中的block),需要使用'self.' 4. 没有';' ';' 的目的是分割语句的,在Swift

Foundation 框架中NSString and NSMutableString的详解

NSString:不可变字符串 创建字符串的最简单的方式: NSString *str = @"itcast"; // 这个创建的是OC字符串 oc中的字符串都是NSString类的对象 char *name = "itcast"; // 这个是c语言字符串 NSLog(@"我在%@上课",str): // %@是用来输出oc对象的 NSLog(@"%s",name); // %s是用来输出c语言字符串 使用oc字符串的好处:

C#图解教程 第七章 类和继承

类和继承 类继承 通过继承我们可以定义一个新类,新类纳入一个已经声明的类并进行扩展. 可以使用已存在的类作为新类的基础.已存在类称为基类(base class),新类称为派生类(derived class).派生类组成如下: 本身声明中的成员 基类的成员 声明派生类,需要在类名后加入基类规格说明 派生类扩展它的基类,因为它包含了基类的成员,加上它本身声明中的新增功能 派生类不能删除它所继承的任何成员 例:OtherClass类,继承自SomeClass class OtherClass:Some

[Objective-c 基础 - 2.2] OC弱语法、类方法

A.OC弱语法 1.在运行的时候才会检查方法的声明和实现 2.没有声明只有实现的方法也能正常运行,只要在调用之前定义即可 3.类的声明必须存在,否则会出现运行时错误 B.类方法 1.是类名调用的方法 2.使用加号修饰的方法 3.类方法和对象方法可以重名 4.对象方法和类方法都允许多次声明,都不允许多次定义 5.类方法不能访问实例变量 1 #import <Foundation/Foundation.h> 2 3 @interface Person : NSObject 4 - (void) t

OC基础笔记——类方法和对象方法和封装(广州黑马一期)

对象方法: 1.声明和实现方法时候,以 -开头 2.对象方法是隶属于对象,只能通过对象调用 3.对象方法中可以直接访问成员变量,因为对象方法和成员变量都是隶属于该对象的 4.对象方法中可以调用其他对象方法 5.对象方法中也可以调用类方法 类方法: 1.声明和实现的标识符都是 + 2.类方法它是属于类本身的 3.类方法是直接通类名调用的,不能通过对象调用 4.类方法不能访问成员变量,因为成员变量是对象的,不是类的 5.在类方法中不能直接调用对象方法,也就是说不能通过self来调用对象方法 如果你要

O-C相关04:类方法的概述与定义和调用

类方法的概述与定义和调用 1, 类方法的概述 类方法(class method)在其他编程语言中常常称为静态方法(例如 Java 或 C# 等). 与实例方法不同的是,类方法只需要使用类名即可调用, 不需要引用对象, 也就不需要创建对象了. 而实例方法必须是先将对象(实例)创建出来, 再利用对象来调用方法. OC 中使用 "+" 表示类方法, 使用 "-" 表示实例方法. 类方法与实例方法的定义比较: 2, 类方法的定义 3, 使用类方法的优势分析: -> 类

OC基础--OC中的类方法和对象方法

PS:个人感觉跟C#的静态方法和非静态方法有点类似,仅仅是有点类似.明杰老师说过不要总跟之前学过的语言做比较,但是个人觉得,比较一下可以加深印象吧.重点是自己真的能够区分开! 一.OC中的对象方法 1.以减号“-”开头 2.只能让对象调用,没有对象,这个方法根本不可能被执行 3.对象方法能访问实例变量(也就是成员变量) 二.OC中的类方法 1.以加号“+”开头 2.只能用类名调用,对象不能调用 3.类方法中不能访问实例变量(也就是成员变量) 4.适用场合:当不需要访问成员变量的时候,尽量用类方法

三.OC基础--1.NSString的创建和使用,2多文件开发,3类方法,4封装

三:OC--1.NSString的创建和使用, 1,创建常量字符串,注意使用“@“符号. NSString *astring = @"This is a String!"; //后面的是常量,前面的是指针变量 2,NSString *s1 = [NSString new];//没有意义 s1 [email protected]"jian le ma"; 3.创建字符串的第三种方法 // 格式化创建字符串(按照指定的格式创建字符串) NSString *imgName