黑马程序员----实例方法跟类方法的区别
来源:互联网 发布:怎么在手机淘宝交电费 编辑:程序博客网 时间:2024/04/30 08:10
------- IOS开发、IOS培训、期待与您交流! -------
类方法和实例方法
实例方法是是以 - 开头,类方法是以 + 开头;
实例方法是用实例对象访问,类方法的对象是类而不是实例,通常创建对象或者工具类。
是对类本身执行某些操作的方法例如创建类的实例
在实例方法里,根据继承原理发送消息给self和super其实都是发送给self在类方法里面self是其他的类的类方法,在类方法中给self发送消息只能发类方法self是类super也是什么时候用类方法,要创建一个实例时候获取一个共享实例,或者获取关于类的一些共有信息
[[[ObjectClass alloc] init] select];
就是在类方法里创建一个实例,然后代用实例方法就可以了
Java中的构造方法与实例方法,有什么区别?
行为差异:构造方法,创建对象后自动调用构造方法,实例方法必须对象.实例方法进行调用。
功能差异:构造方法多用于初始化对象状态,对属性赋初值,实例方法用于实现某个功能
它只有类方法和实例方法,加号表示类方法,类方法可以直接调用,而不用创建这个类的实例;减号表示实例方法,需要创建这个类的实例对象才可以调用。
类方法的调用格式为 [类名类方法],成员方法调用格式为 [实例名实例方法],这种模式在ObjC中被称为消息机制,[对象消息]即给对象发送了一个消息,产生的效果就是该对象调用了该类中定义的对应的实例方法;
对象方法
1>以 -开头
2>只能由对象来调用
3>对象方法中能访问当前对象的成员变量(实例变量)
类方法
1>以 + 开头
2>只能由类(名)来调用
3>类方法中不能访问成员变量,不可以调用实例方法,但是类方法可以通过创建对象来访问实例方法,但
可以使用self,因为self不是实例变量。
4>不依赖于对象,执行效率高,所以能用类方法,尽量用类方法
5>使用场合:当方法内部不需要使用到成员变量时,就可以改为类方法
6>类方法可以调用类方法。
7>类方法作为消息,可以通过类或者对象调用类方法
可以允许类方法和对象方法同名
大家需要记住下面的规则:
1,实例方法里面的self,是对象的首地址。
2,类方法里面的self,是Class.
尽管在同一个类里面的使用self,但是self却有着不同的解读。在类方法里面的self,可以翻译成class self;在实例方法里面的self,应该被翻译成为object self。在类方法里面的self和实例方法里面的self有着本质上的不同,尽管他们的名字都叫self。
- 黑马程序员----实例方法跟类方法的区别
- 黑马程序员----静态方法和实例方法区别
- 黑马程序员_静态方法和实例方法的一些区别
- 黑马程序员-java中静态变量,方法的使用实例
- 实例方法和类方法的区别
- 类方法和实例方法的区别
- 实例方法和类方法的区别
- 类方法与实例方法的区别
- 类方法和实例方法的区别
- 类方法和实例方法的区别
- 实例方法和类方法的区别
- 类方法和实例方法的区别
- 类方法和实例方法的区别
- 黑马程序员-枚举,结构,方法 这三者的区别
- 黑马程序员_方法与函数的区别
- 黑马程序员----JAVA中各种容器的区别和方法
- 黑马程序员--函数和对象方法的区别
- 黑马程序员--函数和对象方法的区别
- ML
- 黑马程序员----枚举
- 成员函数作为线程函数调用
- NYOJ题目744蚂蚁的难题(一)(数学,不大懂)
- 实现:Linux主机做路由,为子网实现共享上网
- 黑马程序员----实例方法跟类方法的区别
- KMP算法
- 推送系统里使用 UPD 还是TCP做心跳包?
- Android开发系列(九):创建数据库以及完成简单的CRUD操作
- 递归算法的时间复杂度分析
- Matlab基础学习---------常用的数学函数实例学习
- 二叉树的建立(非递归建立与定义建立)与基本操作(广度和深度遍历,求叶子树高)实现
- linux C++ 共享库导出类
- 九度_题目1356:孩子们的游戏(圆圈中最后剩下的数)