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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 和夏一样狂热 中级黑马   /  2015-8-8 21:18  /  732 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

self使用方法
self用在对象方法中
self用在类方法中
self访问实例变量  self ->实例变量
谁调用当前方法   self就代表谁


self和super:
1. self理解:   谁调用当前方法, self就代表谁.
比如:  在对象方法中,self代表的是对象,  因为只有对象才可以调用对象方法
在类方法中,  self代表的是类,  因为只有类名才可以调用类方法.

注意:  在对象方法中不要使用self调用类方法
在类方法中不要使用self调用对象方法

2. 获取当前对象的类:  Person *p = [Person new];
[p class] = [Person class] = Person

3. 在对象方法中可以通过 self->_speed访问成员变量.

4.  super代表的是当前类的父类.

static关键字:
1. 在c语言中  static可以修饰局部变量、全局变量、函数
2. 在OC中, 不能用来修饰实例变量和方法, 但是可以修饰局部变量, 全局变量

继承
继承体系中方法调用的顺序:
1、在自己类中找
2、如果没有,去父类中找
3、如果父类中没有,就去父类的父类中
4、如果父类的父类也没有,就还往上找,直到找到基类(NSObject)
5、如果NSObject都没有就报错了
oc当中没有多继承  会用协议  分类来代替   

实例变量修饰符 :    用来判断实例变量的作用域 ,限制实例变量的作用范围
@public             公有的    所有文件都可以正常的访问使用  前提是需要包含头文件
@private           私有的  只有当前类可以访问   不能被子类访问(子类尅继承所有的实例变量和方法   但是  不是所有的都可以访问)
@protected      作用于当前类和子类    都可以访问      不能在其他类中使用
@package    作用于框架    不经常用
在@interface和@end之间实例变量中如果没有作特别的说明   默认的是@protected


oc中的私有变量
@implementation  类名
{
数据类型+变量名            
//这是一个私有的实例变量(全局的)   不能被子类继承   私有成员变量只有在当前文件中访问

}

oc中的私有方法(相对私有)
在.m文件中实现,不需要在.h文件中声明   不能被子类继承  只有在当前文件中访问   在当前文件中可以调用

评分

参与人数 1黑马币 +5 收起 理由
cuiyewen + 5 很给力!

查看全部评分

3 个回复

倒序浏览
总结的不错,学习了
回复 使用道具 举报
看看!!!!!!!!!!
回复 使用道具 举报
欢子 来自手机 中级黑马 2015-8-8 21:54:55
板凳
继续加油!!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马