A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 你说呢 中级黑马   /  2015-7-25 20:29  /  535 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

类的本质其实也是一个对象(类对象)
1、类对象在程序时一直存在
2、类对象是一种数据结构,


Person *p=[Person new];
P 是实例对象
Person也是一个对象(classl类)】
1、通过实例对象获取
Dog *d=[Dog new]; Class c=[d   class];
2、通过类名获取(类名其实就是类对象)
Class c= [Dog class];
使用类名可以做哪些事情??
类对象的使用:
        创建对象:
                [Person  new];
                调用方法 :
                        [Person test];
Person  *p  =[Person  new];
Class  c1=[p  class];
Person *p1=[c1  new];
[c1  test];


类方法:
+表示类方法,就是类调用方法。不依赖于任何对象的方法。
-表示实例(对象)方法,只能是对对象可调用的,依赖于任何对对象的方法
类的调用3.3
[类名 类方法名称]
调用方法 和对象调用的方法相同

2、类方法也可以是从父类继承而来子类可以重写类方法,
3、类方法和实力方法一样在interface里声明 ,在implementation里实现
4、类方法只能被向类方法消息才被执行,向实例对象发送方法是不能被触发执行的
5、在类方法里使用self ,这个self执行的类的对象class object而不是实例对象instance object
类方法的易犯错误
1.在类方法中不能使用类的成员变量
错误信息 Instance variable ‘_speed’ accessed in class method
        必须要类调用类方法

        在类方法中可以调用对象方法
                对象作为方法的参数传递过来
                可以创建一个对象
        类方法不能调用自身











2 个回复

倒序浏览
顶一个 也快学到了
回复 使用道具 举报
就当预习啦哈哈!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马