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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 仰望星空的猪 于 2015-11-27 10:44 编辑

1     NSString 类
处理字符串的类。
1) 创建常量字符串
NSString  *str =@”abc“;  //str 为指针变量  ”abc“为字符串常量
       NSString  *str=[NSString  new];//使用类new方法创建字符串对象
          str=@“abc“;
       NSString  *str=[NSString  stringWithFormat:@”xxx%d“,i];//使用类方法格式化创建字符串。
NSString  *str1=[[NSString  alloc] initWithString:str]; // 先分配空间之后用str的值初始化 之后把地址返回给str1.
2)NSString   字符串长度计算
       类方法 length
[str length]; //返回值类型为NSUInteger  无符号整形 输出用 ld
OC中
英文和中文都是一个字符 占一个字节。
C 中 中文占3个字节。
2     多文件开发
把声明和实现分开把声明写在.h中 实现在 .m中 在.h中添加import  .m 在主函数中添加头文件。
还可以把 类 按类别放到不同的文件夹中。
3     类方法(+)
    优点:节省内存  提高效率 作为工具方法
对象方法使用的时候必须创建对象,使用对象调用。
类方法使用的时候不需要创建实例对象,不依赖任何对象方法和成员变量。
方法定义和对象方法相似只是前面是 + 号。
调用和对象方法一样。

注意
1)    类方法可以和对象方法同名,调用者不一样。
2)    类方法可以继承。
3)    声明和实现同对象方法类似。
4)    类方法只能通过类调用。直接到代码区找类方法。


4 对象方法和类方法区别
对象方法
1)对象方法可以在方法中创建对象,使用新创建的对象调用对象方法
2)对象方法可以通过 self 调用该类的对象方法。
3)对象作为方法的参数传递过来,可以使用传递过来的对象调用对象方法
类方法
1)类方法可以调用其它的类方法
2)可以使用self 调用其他类方法
3) 类方法中可以调用对象方法  对象作为参数传递或者在类方法中创建对象。
4)类方法不可以调用自身。会成死循环。
5 匿名类
       在方法需要使用调用类方法的时候生成并调用。
       [[Personnew] goHome :[Car new]];

6  封装
       作用:隐藏类的实现隐藏数据 掌握对实例变量的管理权。
       原理:实例变量默认为只可被当前类对象访问。
       实现步骤
1)    设置实例变量的setter和getter方法。类似java的set和get。
使用set方法对成员变量赋值,使用get方法获得成员变量的值。
set方法命名规范
a 必须以set开头
b set后面跟成员变量的名称首字母大写。(去掉下划线)。
c 返回值为void。
d 一定要接收一个参数,参数类型和成员变量的类型一致。
e 形参名不能和成员变量名一样。一般去掉下划线的成员变量名。
f  set方法是一个对象方法。
g 实现中一定要给实例变量赋值。

              get方法的命名规范
                     a一定要有返回值,返回值类型与成员变量的类型一致
                     b方法名和成员变量名一样。(一般为去掉下划线的成员变量)
                     c 没有参数。
                     d  是对象方法
                     e  实现中一定返回实例变量值。
7 对象和对象关系
1) 组合模式(部分-整体)相同基类的对象组合到树形结构中。
2) 依赖关系 A对象作为B对象的局部变量或者方法的形参 ,B 依赖于A .A和B是依赖关系
耦合度:修改一个对象时,对另一个对象的影响程度。
低耦合:修改一个对象时,对另一个对象的影响小
高内聚:一个对象仅仅做自己相关的事情。
3) 关联关系
一个对象拥有另一个对象

8 方法的重载
       同名方法不同参数个数和类型。
       OC中没有方法的重载
9  OC中static关键字。
       static不能修饰实例变量。
       可以在.m文件中作为普通变量使用。只能在本文件中使用。
10 self和super
       self相当于java的this指针 表示当前对象。

self应用
谁调用当前方法就指代谁
1) 在对象方法中使用。指代调用当前对象方法的对象。
2) 在类方法中指代当前类。[对象 class]返回当前类(对象)
3) self修饰变量 用以区分实例变量和普通变量
              super 调用父类方法。
11 类的继承和派生
       继承就是子类拥有父类的方法和属性。
       继承的实现
1) 导入父类的头文件
2) 声明子类的时候继承父类
基类和派生类的关系
              派生类可以继承父类(基类)的方法和属性还可以拥有自己的属性和方法。
              注意
1)基类的私有属性不能被继承。
              2)OC中是单继承,一个子类只能继承一个父类。
              3)继承的合理性。可以拥有父子关系。
       方法的重写
子类重新实现父类的方法。不需要声明,已经继承。

       继承的注意事项
1) 子类不能定义父类同名变量
2) 单一继承
3) 可以多层继承。
12 实例变量修饰符合作用域
       修饰符
              @public 公有的   任意程序
              @protected 受保护的  同一类或者派生类 子类可以使用
              @private 私有的         同一类中 子类可以继承,不能访问和使用
       修饰符的作用域
声明时(.h):从修饰符出现的地方开始到遇到下一个修饰符或结束。默认为protected。
              实现时(.m):声明的变量都是私有的 不能继承 不能访问。
       私有方法
       .h中没有声明,但是在.m中实现的方法。子类不能继承,不能实现。子类可以通过共有方法调用私有方法。
13 description方法
              NSLog(@”%@”,对象);//打印对象的内容
              实际上调用NSObject类的description方法 打印对象信息。
       重写description方法
-      (NSString *)  description{
NSString *str=@“”;// 可将打印的信息以字符串的形式赋值给str
return   str ;
}



1 个回复

正序浏览
仰望大神啊
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马