- /*
什么是面向对象?
&OOP(Object Oriented Programming)
&创建类、得到对象。从类中实例化对象。
*/ - //实例化对象
/*
[类名 方法名]alloc - 为对象分配内存空间
[对象名 方法名]init - 进行初始化操作
*/ - //姓名、年龄、性别
//类内使用成员变量,类外使用属性
//属性是为了让类外可以访问成员变量
//属性就是成员变量的接口
//类内调用成员变量而不是属性,属性是给类外使用的 - //实例方法和类方法可以相互调用。
//实例方法中可以调用类方法,可以调用成员变量
//类方法中调用实例方法会造成死循环导致程序崩溃,不能调用实例方法。不能调用成员变量,可以调用静态变量。 - 什么是封装?为什么要封装?封装的好处?
- 【成员变量】访问修饰符的问题: 默认 - 受保护
1)@public 公有 --在类内类外都可以使用并且可以被继承,在类外使用【指向】来调用类内的成员变量
2)@private 私有--在类内可以使用,类外无法被调用且不可以被继承
3)@protected 受保护--在类内可以使用,类外无法调用并且可以被继承
4)@package 框架权限--在框架内相当于受保护,在框架外相当于私有。
注:方法没有访问修饰符,同C语言一样
7. NSObject -- 基类
多态中:super 调用父类方法 self 调用当前类方法
1 #import <Foundation/Foundation.h> 2 3 int main(int argc, const char * argv[]) 4 { 5 @autoreleasepool 6 { 7 /* 8 NSString字符串比较: 9 比较字符串大小:compare方法返回的结果有三种:NSOrderedAscending(前小后大) 10 ,NSOrderedSame,NSOrderedDescending(前大后小) 11 比较原则:取出每个字符,比较每个字符ASCII码大小 12 注:在OC中使用“==”;是不能比较字符串内容是否相等的,判断字符串内容是否相等,区分大小写,使用的是isEqualToString:。返回值是BOOL类型 13 检查字符前缀方法 hasPrefix: 检查后缀方法 hasSuffix: 14 NSArray: 15 只能存储任意的OC对象,并且是有顺序的 16 他是不可变的,一旦初始化完毕后,它里面的内容就永远固定了,不能删除里面的元素,也不能添加里面的元素。 17 NSDictionary: 18 字典的key值和value值,都必须是对象,不能是基本类型数据 19 键值对不能重复,重复了也不能报错,后出现的不能保存在字典中 20 NSFileManager: 21 使用了单例模式singleton 22 1) 判断文件是否存在 23 调用defaultManager创建一个文件管理的单例对象 24 单例对象:在程序运行期间只有一个对象存在 25 NSFileManager *fm =[NSFileManager defaultManager]; 26 BOOL isYES=[fm fileExistsAtPath:filePath(路径字符串)]; 27 2) 判断是否是一个目录 28 [fm fileExistsAtPath:filePath isDictionary:&isDir]; 29 3) 判断文件是否可读 30 IsYES= [fm isReadableFileAtPath:filePath]; 31 4) 是否可写 32 IsYES= [fm isWritableFileAtPath:filePath]; 33 */ 34 NSString *str1 = @"abc"; 35 NSString *str2 = @"Abc"; 36 37 NSComparisonResult result = [str1 compare:str2];//(这个函数是区分大小写的) 38 NSComparisonResult result1 = [str1 compare:str2 options:NSCaseInsensitiveSearch];//这个函数不区分大小写 39 NSComparisonResult result2 = [str1 compare:str2 options:NSCaseInsensitiveSearch|NSNumericSearch];//增加字符个数比较,可以增加限制条件 40 NSLog(@"result = %ld", result); 41 NSLog(@"result1 = %ld", result1); 42 NSLog(@"result2 = %ld", result2); 43 44 45 } 46 return 0; 47 }