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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

OC总结

.面对对象.
是一种解决问题或处理事情的思想,可以把复杂的事情简单化,就是找对象,让对象实现     我们的需求


类设计的原则就是 高内聚:有关联的属性要封装起来成单一的模块  低耦合 类中的模块尽量独立.
不依赖于对象执行效率高

匿名对象
一个对象没有变量名直接使用,这个对象就是匿名对象

面对对象的三大特性 封装 继承 多态
封装:
就是把封装的对象的属性和实现细节都封闭起来,只对外提供公共访问.
好处
将变化隔离 便于使用 提高重用性 提高安全性

     2 .继承
多个类有相同属性和行为,把这些内容 抽到单独的类中 就不用在重复定义这些属性和行为.只要继承这个类就可以拥有这个类里面的属性和方法这就是继承
一个父类的子类可以有多个,但是一个类父类只有一个
好处就是可以调用父类的属性和行为.提高复用性,让类与类之间产生了联系

     3.多态
多态是基于继承的,父类类型的指针 指向子类的对象 多态可以增强拓展性.父类类型的变量不能直接调用子类特有的方法.要调用必须强专程子类类型.

组合
就是把两个不同属于同一类 但是又需要建立联系的时候可以用组合

self
self可以在类方法中调用方法和属性.在类方法中调用类方法,在对象中调用对象方法.在对象方法中只能调用属性

super
super是在子类中调用父类的重写的方法. 在子类重写父类方法后又需要调用父类方法的时候用得
只能类方法 调用类方法.对象调对象方法 不要调用没有重写的方法. 不能调用属性.只能调用方法.

NSString
拓展性很强. 他与C语言中得字符串的的区别再去 C是一个字符数组,OC里字符串是一个类.

点语法
点语法本质就是方法调用,不要用点语法 调用其他方法.

属性的作用域
@private
只能在当前类的对象方法直接访问.
@protected
可以在当前类以及子类的方法中直接访问
@public
任何地方都可以访问.
@package
同一个框架内可以访问.在 Private和Public之间
如果不写修饰符.
上面有定义别的属性 .就跟随上一个属性的权限.
上面要是没有别的属性 .默认就是Protected.

@property的用法
property可以自动生成属性和属性的声明和实现.
需要注意的是.
定义了属性 .则 属性不会自动生成
定义了set get方法对应的 set 和get就不会生成.
set 和get方法都实现了.那么property就不会干任何事情.属性不会声明.
如果property 生成了属性 .默认就是private权限 .如果要是改变 只能手动给属性加上权限.

ID指针
ID指针是一个指针 指针的类型是ID 也叫万能指针.要是访问类对象的独有的方法时 就必须得强转.
拓展性很强 当一个对象的类型不确定的时候 可以用ID指针,

构造方法
构造方法就是初始化时执行的方法.
可以在对象创建的时候就给属性初始化赋值.简化代码 节省时间.
子类和父类的属性赋值.都应该在各自的类中赋值,这样才能隔离父类的变化 .简化代码.

分类category
分类就是把一个类分模块. 方便协同开发.优化代码.不用改变类名.给类附加功能.
分类不要添加属性.只能添加方法.
分类方法不能与其他主类或其他分类重复 不能重写 如果重写就会覆盖原来的方法.
分类可以直接用主类属性.但是权限必须是protected
不同分类中重写了同一个方法.那么那个分类就最后编译.则那个分类的方法执行
主类永远在分类之前编译.

类的本质
类就是一个对象 类型用 class表示
类对象就是程序一启动就会加载到内存. 加载类对象 执行的方法是:+load
实例对象在对象被创建的时候加载到内存的加载对象执行的方法是+initiallze
只在对象第一次创建的时候加载 init构造方法每次对象创建的时候都会加载.
对象加载必须在类对象加载之后.对象加载辉先加载直接或者间接父类对象
有分类时 分类的类对象与主类的类对象都会加载.但是对象只会家再一次.

description用法.
+(void)description;类方法
-(void)description;对象方法.
返回这个类对象或者实例对象的描述.

51 个回复

倒序浏览
哈哈哈哈哈哈
回复 使用道具 举报
总结的还行,多写点自己的体会更好
回复 使用道具 举报
"伪军"??
回复 使用道具 举报
666666666666
回复 使用道具 举报
厉害啊,支持
回复 使用道具 举报
厉害,mark一下
回复 使用道具 举报
支持一个来了,不错哦
回复 使用道具 举报
刚刚学oc,有没有什么好的学习建议啊,分享一下
回复 使用道具 举报
6666666666
回复 使用道具 举报
stage 中级黑马 2015-12-7 22:34:33
11#
独孤求傲 发表于 2015-12-7 22:08
刚刚学oc,有没有什么好的学习建议啊,分享一下

前期因为从C转变OC 有点难以接受,面对过程和向面对对象的过程. 当你熬过去之后 再回头看一遍你会发现.原来的问题都不是问题了
回复 使用道具 举报
支持~~~~~~
回复 使用道具 举报
学习一下~~基础班只学C和OC基础是吗?OC加强是就业班的内容吗?
回复 使用道具 举报
zf147 中级黑马 2015-12-8 22:05:32
14#
看了很有感触,谢谢分享,哈哈哈哈哈哈
回复 使用道具 举报
厉害 总结的很全面
回复 使用道具 举报
不错 哈哈哈
回复 使用道具 举报
1111111111111111111111111
回复 使用道具 举报
666全是概念用法
回复 使用道具 举报
6666,真是够有耐心的
回复 使用道具 举报
可以啊,支持一下
回复 使用道具 举报
123下一页
您需要登录后才可以回帖 登录 | 加入黑马