OC总结1

来源:互联网 发布:锐志轮毂数据 编辑:程序博客网 时间:2024/05/18 22:15
第一部分:
面向对象编程:OOP(Object Oriented Programming)
面向对象语言:C++, Java, C#
概念:对象、类、封装、继承、多态等等


面向过程:分析解决问题的步骤,实现函数,一次调用函数(侧重点:实现功能)
面向对象:分析某个问题需要参与的对象,各个对象的作用,多个对象协作完成任务(侧重点:对象的设计(具有哪些功能))


类:具有相同特征和行为的事物的抽象
对象是类的实例,类是对象的类型


OC中类的定义包括两个部分:
1、接口部分:对外声明类的特征和行为。@interface...@end
作用:声明类的实例变量和方法,即特征和行为。
2、实现部分:对内实现行为
作用:实现方法,即实现类的行为。


成员变量的可见度为什么不使用@publice?
1、使用@public关键字,暴露了类内部的细节
2、不符合面向对象语言的三大特性之一的封装


#import “”导⼊入⾃自定义类,#import <>导⼊入类库中的头⽂文件。 
@class:告诉编译器@class后的字符串作为类名使⽤用,并未导⼊入类的接⼝口内容
OC中的继承
1、OC中只允许单继承
2、没有父类的类称为根类,OC中的根类是NSObject。
3、继承的内容:所有实例变量和方法。

4、若子类不满意父类方法的实现,可以重写父类的方法。


OC中数组和字典的嵌套

#importint main(int argc, const char * argv[]){    @autoreleasepool {        //声明first 层的字典的key值 的数组        NSArray * arrayKey = [[NSArray alloc]initWithObjects:@"A",@"B",@"C",@"D",@"E",@"F",@"G",@"H",@"I",@"J",@"k",@"L",@"M",@"N",@"O",@"P",@"Q",@"R",@"S",@"T",@"U",@"V",@"W",@"X",@"Y",@"Z",@"未命名", nil];        //声明一个字典        NSMutableDictionary * mFirstDic = [[NSMutableDictionary alloc] initWithCapacity:[arrayKey count]];        //遍历arrayKey        for (NSString *p in arrayKey) {#pragma mark --- 这个是字典 -数组-数组-字典的嵌套            //声明一个空的数组,用于存放字典的value            NSMutableArray *mFirstArray = [NSMutableArray array];            //2现在我想向mFirstArray中添加一个数组            //在声明一个新的数组            NSMutableArray * mSecondArray = [NSMutableArray array];            //添加到mFirstArray这个数组中            [mFirstArray addObject:mSecondArray];                        //2.1现在我想向mFirstArray中添加一个字典            //声明一个新的字典            NSMutableDictionary * mSecondDic = [[NSMutableDictionary alloc] init];            [mSecondArray addObject:mSecondDic];                        //将mFirstArray 和arrayKey(即是p)加入到字典(mFirstDic)中            [mFirstDic setObject:mFirstArray forKey:p];        }        NSLog(@"mFirstDic= %@",mFirstDic);            }    return 0;}




0 0