oc的学习总结1

1.成员变量和属性

  成员变量:在类的内部,具有私有性,在main函数中不能访问

  属性:在接口中声明的成员变量,可以在main函数中访问

2.类的声明与实现

  声明:在.h文件中的接口中进行属性,类方法,对象方法的声明

  实现:在.m文件中进行setter,getter方法,类方法,对象方法的实现

  私有方法:没有声明直接实现的方法就是私有方法,私有方法只能在类内部访问

3.前缀

  可以加强区分度,要注意保持良好的前缀风格。

4.封装,继承,多态

  封装:面向过程是 狗 吃 屎,面向对象 吃(狗,屎)。面向对象就是把吃这个动作封装成一个方法,可以让其他的对象使用,也可以吃其他的东西。这样就可以让这个方法多次重复利用,大大简化了编程的过程。面向对象思想是在大的框架上对方法进行封装。而在局部的方法实现上还是使用的面向过程的思想。

  继承:子类继承父类,可以继承父类中的属性和方法。继承可以减少代码重复,提高运行效率,可以提高代码的可读性和可维护性,可以发挥方法调度作用。oc中不支持多重继承,但是可以通过类别,协议完成类似的功能。

  superClass 超类,subClass 子类,override 方法重写

  多态:允许方法重名(子类重写父类的方法),参数或返回值可以是父类型的传入和返回(不同对象对同一消息的不同响应)。方法重写的做法(要理解好再重写的时候调用[super 该方法名]的重要作用)。

  

5.发消息和调用方法

  发消息是oc的工作机制,根据发送消息的名字找到对应的方法,调用方法是发消息的最后一步。

6.代码规范

  等号两边加空格

  类方法,对象方法开头的 )- + 后面加空格

  一块代码一个段落,让代码整洁简明

7.类方法

  实例化方法(工厂方法):在赋值的同时建造新的实例化对象(格式: 类名:With属性名:and属性名:)

  类方法:由他所在的类直接执行

8.super和self关键字

  super  明文调用父类同名方法的逻辑,调用者还是对象本身

  self 谁调用self所在的方法,self就表示谁,是一个指向对象首地址的指针。

  self 在-方法中表示当前的对象,在+方法中表示本类。

9.聚合和组合

  再设计类的时候要分清组合与聚合。一个人和他的手是组合的关系,雁群与大雁之间是聚合的关系。好的复合关系会给程序员在编码的时候提供正确的思路。

  复合关系表示的是has a

  继承关系表示的是is a

  区分复合和继承是初学者在设计类的时候一个重要的原则,这个原则也是高内聚低耦合思想指导下的正确做法。

[email protected]和#import

  在.h文件中导入类名使用@class可以简化文件之间的依赖关系,降低耦合。

  在.h文件中导入类名容易使文件之间的依赖关系混乱

  @class xxx   :告诉编译器xxx是一个类,至于类有哪些方法和属性,此处不去检查

  

  

时间: 2024-10-16 02:37:28

oc的学习总结1的相关文章

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

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

黑马程序员—oc语言学习心得—block

黑马程序员—oc语言学习心得—block -------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 1,程序一般用typedef定义一个block类型 然后调用 typedef void(^xxx)(); 可使用助记符 inlineblock 2,Block内部可以访问外部变量:默认情况下,Block内部不能修改外部的局部变量 给局部变量加上__block关键字,则这个局部变量可以在block内部进行修改. 3,block的作用: 利用block封

黑马程序员——oc语言学习心得----NSFileManager

黑马程序员——oc语言学习心得----NSFileManager -------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 自己总结了下NSFileManager的简单几个用法 : // 首先要创建文件管理器 NSFileManager *fm=[NSFileManager defaultManager]; 1,判断文件是否存在 fileExistsAtPath: 2,判断文件是否是目录 fileExistsAtPath: 3, 判断文件是否可读

有关Oc语言学习的一些感受及对面向过程和面向对象的理解

不得不说,接触编程过后,我的生活从来没有这么规律过,每天按时吃早中晚的饭,每天早九晚九的学习,我就在想我的大学生活怎么就没有这么认真过呢?算了还是不提大学了,惭愧的狠.       说正事吧,我学的ios软件开发,在这里之前的一个星期,把我曾经仅学了其三分之一的C语言基本完整的学了一遍,七天学习加复习相当于我曾经的一学期!这意味着什么,还是意会吧.然而C语言只是学习ios开发的桥梁,通过C语言过度到Object-c语言简称Oc,Oc才是进入ios开发大门的钥匙和基石.之前老师一再强调,基础一定要

oc的学习总结2

Foundation 1.NSRange NSRange是常用的结构体.NSRange(location,length) location表示的是位置,length表示的是长度范围.用make方法创建常用的结构体. #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { NSRange range = {10, 15}; NSRange range1; range1.location = 10; r

oc语言学习之基础知识点介绍(四):方法的重写、多态以及self、super的介绍

一.方法重写 /* 重写:当子类继承了父类的方法时,如果觉得父类的方法不适合,那么可以对这个方法进行重新实现,那么这个就重写. 注意:也就是说,一定只能发生在父类和子类关系中. 然后是子类重新实现父类的方法,绝对不是再写一个自己类的方法. 代码中原话叫:子类重写父类方法. 因为父类定义的方法不一定适用于子类. 注意:如果有重写,那么调用的是自己重写后的方法,如果没有重写,那么就调用的是父类的方法. 所以我们方法有一个执行的过程: 1.先去自己类里面找这个方法,如果找到就执行. 2.如果没找到,就

24-黑马程序员------OC 语言学习笔记--- autorelease和ARC

  黑马程序员------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------- autoreleaseOC提供了autorelease语法,系统可以將很多对象放到一个自动释放池中,在某个时刻统一release一次.这样就不用再次调用release方法.1.autorelease的基本用法:   1>

黑马程序员-OC加强学习日记-Foundation框架中的字符串和数组

------- ios培训. android培训.java培训.期待与您交流! ---------- 一.Foundation框架 1.概念:框架是由许多类.方法.函数.文档按照一定的逻辑组织起来的集合,以便使研发程序变得更容易. 为所有程序开发奠定基础的框架称为Foundation框架 2.使用:要想使用Foundation框架中的功能,包含它的主文件即可 #import <Foundation/Foundation.h> 二.NSString: 不可变字符串类   一个NSString对象

OC-学习Tips

(Objective-C) 13,多参数方法:(函数名:f::) 参数能够在 : 前面设置一个标签label,标签label也是函数名的一部分,方便阅读(不带标签实际上也有个匿名标签),第一个参数不能有标签,实际上函数名就是第一个参数的标签. 14,OC不是严格的函数重载(和C++不同),主要看标签中,函数名和参数数量是否相同,不是看参数类型,如: - (int)g:(int)x; - (int)g:(flota)x; //错误,方法冲突了 - (int)g:(int)x:(int)y; //正

23-黑马程序员------OC 语言学习笔记---内存管理

黑马程序员------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------- 对于面向对象的变成语言,程序需要不断地创建对象.初始,创建的所有程序通常都有指针指向它,程序可能需要访问这些对象的实例变量或调用这些对象的方法,随着程序的不断执行,程序再次创建了一些新的对象,而那些老的对象已经不会再被调用,也不