黑马程序员技术交流社区

标题: 今天学oc了 总结一下 [打印本页]

作者: 该有个目标了    时间: 2014-8-18 20:46
标题: 今天学oc了 总结一下
基 础 语 法Objective-c是c语言的母集合,就是面向对象的。
1、面向对象和面向过程
面向对象和面向过程是编程的两种思考方式。
面向对象,简称OOP,是完成一项工作需要那些步骤。
面向过程,简称OPP,是完成工作的每一步是怎么完成的,注重过程。
2、类和对象
(1)类是一组具有相同(特征)属性和行为(功能)事物的集合。
     对象就是类的具体实现。世间万物皆对象。
(2)类的定义
在OC中,类的定义分两部分:声明部分和实现部分;
声明部分(@interface):声明了类与父类的名字、方法是实例变量。声明文件以.h为后缀。.h用来声明类的变量和函数。

声明类时,成员变量要声明在大括号中,方法声明在大括号外。
如果是对象方法要写-开头。
类方法要写+开头。
所有在.h文件当中声明的方法都是公共方法,凡是类型,都要写括号。在方法名后,一个参数要一个括号,


实现部分(@implementation):包含了方法的实现,真正意义上定义了类的行为。实现文件以.m为后缀。.m文件负责实现。
实现类时,首先要导入.h的声明
OC中最根本的类叫NSObject,OC是单继承的。声明类以@interface开头,以@end结尾,实现类用@implementation开头,以@end结尾。
注意:一个声明对应一个类。
3、对象的创建和使用
1>对象的创建
内存分配:为对象动态的分配内存地址。
初始化:在内存中初始化成员变量的值。

对象的创建需要调用类的类方法alloc分配内存,调用类方法要写[ ],里面是类名和方法名,返回值需要用指针来接收,也就是说OC中的对象都要写个*。
比如:调用了Student的一个类方法alloc分配内存,并返回了一个指针来接收,其实alloc方法返回的是id类型,万能指针类型:
这与我们后面将要学习的,是构造类型的前身。Student *stu = [Student alloc] init]; 先分配内存空间,然后初始化。就是把new方法 拆分出来。

2>对象的使用其实就是赋值。
赋值必须实例变量的修饰符是@public。实例变量的修饰符还有@protected和@private,系统默认实例变量的类型是@protected,对于这两种类型的实例变量,我们需要调用方法为其赋值或者取值。
4、#import<Foundation/Foundation.h>
预处理指令import的两个作用:一是和include一样,完完全全的拷贝文件的内容;
二是可以自动检验头文件有没有被包含过,防止文件内容的重复拷贝(即使文件被多次包含,也只拷贝一份)。

NSLOG是日志输出,OC字符串以@开头,自动换行,int类型的占位符是@i。
OC中几乎所有关键字以@开头有特殊的。@autoreleasepool与内存管理有关。
5、set方法 和 get方法
1>set方法:给外界提供一个能修改内部成员变量属性的方法。可写不可读。
      写法:是对象方法 - (void)set成员变量名(首字母大写):(参数类型)变量名;变量名与成员变量名不同。
            是类方法:前面用+ 后面一样。
2>get方法:返回值成员变量的属性值。可读不可写。
      写法:对象方法 - (类型与成员变量类型相同)原成员变量名;
            返回值带下划线的成员变量名。
            类方法 + 开头 后面一样。

oc中的小语法:一个参数对应一个冒号,冒号写在参数的前面。冒号也是方法名的一部分。
冒号的作用:分隔方法调用时参数的值,把后面的值传递给前面方法的形参。

作者: 寇亮    时间: 2014-8-18 20:56
加油!一起努力
作者: 朱亚男    时间: 2014-8-19 08:22
加油!!
作者: 冷水泡脚    时间: 2014-8-19 09:03
一步一步来。。。
作者: 该有个目标了    时间: 2014-8-19 10:54
好的 继续 一起去 黑马
作者: ccq    时间: 2014-8-19 19:08
一起努力。
作者: 王绍明    时间: 2014-8-19 23:00
加油吧!!!!!!!!!!!!!!!!!!!!!
作者: ixx__123    时间: 2014-8-20 09:03
    总结的不错,学习学习




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2