黑马程序员 08-OC的类方法

OC中的方法分为对象方法和类方法,这里介绍类方法。

1、类方法

 规则:1、以加号 + 开头;

    2、所有数据类型(返回值、参数)都必须写在小括号()里面,而且只有数据类型可以写在小括号()里面;

    3、方法名遵循驼峰原则;

    4、如果没有参数,方法名后面什么都不写,例如 + (void)lookMyPhone;

    5、一个参数对应一个冒号:,冒号:也是方法名的一部分;

      例如:+ (void)sendMessage:(char *)message withPhoneNumber:(char *)number;

          方法名是  sendMessage:withPhoneNumber:

2、按照有无返回值和有无参数给对象方法分类

    • 无参无返回值
    • 无参有返回值
    • 有参无返回值
    • 有参有返回值

  (1)无参无返回值

    例如:+ (void)lookMyPhone;//查看电话信息

  (2)无参有返回值

    例如:+ (char *)receiptMessage;//接收短信

  (3)有参无返回值

    例如:+  (void)callPhone:(char *)number;//拨电话号

      +  (void)sendMessage:(char *)message withNumber:(char *)number;//给一个号码发短信

  (4)有参有返回值

    例如:+ (int)sumWithNum1:(int)num1 andNum2:(int)num2;//计算两个数的和

3、类方法的使用场合

  类方法由类来调用。

时间: 2024-08-14 05:17:47

黑马程序员 08-OC的类方法的相关文章

【黑马程序员】————OC特有语法

一.点语法 点语法的本质还是方法调用 p.age = 10; // [p setAge:10]; int a = p.age; // [p age]; 二.成员变量的作用域 @public : 在任何地方都能直接访问对象的成员变量 @private : 只能在当前类的对象方法中直接访问(@implementation中默认是@private) @protected : 可以在当前类及其子类的对象方法中直接访问 (@interface中默认就是@protected) @package : 只要处在

【黑马程序员】OC基本语法——类与对象相关概念

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 最近在学OC的面向对象部分,可能是因为以前学Java和PHP时习惯了主流的面向对象思想,接触到OC的面向对象有很多说法都不习惯,查了很多东西,终于基本都搞清楚了,在这里小结一下. 一.类和对象 1.类:类是一个抽象概念,代表着一类事物,如:人,动物,交通工具等:这个和Java或PHP里类的概念没有区别. 其定义方法如下: @interface Student : NSObject { NSSt

《黑马程序员》 OC的三大特性

OC 的三大特性:封装.继承.多态. 封装:过滤不合理的值 #import <Foundation/Foundation.h> // set 方法 // 作用:提供一个方法给外界设置成员变量,可以在方法对成员变量进行赋值和过滤 // get 方法 // 作用:返回对象内部的成员变量,得到成员变量的值. @interface Student : NSObject { // 成员变量名的命名规范 // 成员变量名肯定以下划线开头 // 好处:可以区分参数名称和成员变量的名称,也可以区分变量名和成员

黑马程序员----对象方法和类方法

一.对象方法 1> 减号 - 开头 2> 只能由对象来调用 3> 对象方法中能访问当前对象的成员变量(实例变量) 二.类方法 1> 加号 + 开头2> 只能由类名来调用3> 类方法中不能访问成员变量(实例变量) 注:可以允许类方法和对象方法同名 三.类方法的好处及使用场合 1> 类方法不依赖于对象(不创建对象也可以调用),执行效率高 2> 能用类方法,尽量用类方法 3> 场合:当方法内部不需要使用成员变量时,就可以改为类方法 代码练习: 运行结果:

黑马程序员——oc语言学习心得—— 属性声明和赋值

黑马程序员——oc语言学习心得—— 属性声明和赋值 -------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 1,在oc中所有类继承与终极父类Object2,声明字符变量采用N是string  *_xxx 实例变量一般以下划线开头3,在oc中方法以+ -号区分 -号开头是实例方法或对象方法  +号开头是类方法  前置用对象调用 后者用类名调用4,在xcode4以后声明@property 不用在写@snysize  自动生成get.set方法5,属性

黑马程序员-OC self super isa指针

self指针: self是oc面向对象设计中的一个特殊指针,相当于java中的this,但是比this强大,this只能访问实例对象的相关方法和成员变量,或者说this只代表实例对象: self不仅可以代表实例对象,还可以代表类对象:谁调用当前方法,self就代表谁:如果self用在了以"-"号的方法中,也就是对象方法中,那么就代表实例对象,若果在"+"号开头的方法中,self就代表类对象,因为只有类对象才能调用以"+"号开头的方法: self调

黑马程序员-oc对象的内存管理

oc没有java的垃圾回收机制,所以对象的内存释放很重要,基本数据类型,我们不用理会,编译器会处理: oc的每个对象内部都由一个计数器,用来记录当前有几个指针在指向该对象:当计数器为0时该对象会从内存中释放: 相关方法和概念: 1:retain:对象方法,调用该对象方法,计数器+1,有返回值,返回对象本身: 2:release:没有返回值,计数器-1: 3:retainCount:获取当前计数器的值: 4:dealloc:当对象被回收时,就会调用该方法,覆盖该方法时一定要调用[super dea

黑马程序员-OC特有语法:分类category,给NSString增加方法计算字符串中数字的个数

1:分类的使用场景:想对一个类,扩充一些功能,而又不改变原来类的模型,也不用继承,这时OC中的特有语法:分类可以做到: 当然分类也是一个类,也需要声明和实现,声明在.h文件中,实现在.m文件中,格式如下 // 声明 @interface  类名  (分类名称) @end // 实现 @implementation 类名 (分类名称) @end 2:分类的好处,当一个类比较庞大时,不同的部分可以放到不同的分类中,也方便团队中类的开发: 3:分类使用注意: a:分类不能增加成员变量,只能对原类增加方

黑马程序员-OC的类的构造方法

构造方法:用来初始化对象的:首先分解一下创建对象的过程: Person *p = [Person new]; // new方法是alloc 和 init 这两个方法的组合: 完整的创建可用对象的过程: 1:分配存储空间:  就是调用的  +alloc 方法,这个方法是类方法,返回的是一个分配好存储空间的 对象: 2:初始化:-init 方法,对象方法,由alloc方法返回的对象调用init对对象进行初始化: 所以创建一个对象的规范和常用的方式:  Person *p = [[Person all

黑马程序员-OC学习笔记之NSString与NSMutableString

---------------------- IOS开发.Android培训.期待与您交流! ---------------------- 一.NSString与NSMutableString 相信大家对NSString类都不陌生,它是OC中提供的字符串类,它的对象中的字符串都是不可变的,而它的子类NSMutableString类的对象中的字符串就是可变的.什么是可变与不可变呢?二者的区别就是在已经创建的一个字符串对象中,在程序中能不能更改字符串,比如拼接新的字符串,可变的可以在原字符串中更改,