无题
1.面向对象和面向过程
前者完成一件事情,需要考虑需要哪些东西(对象),东西(对象)去完成,注重的是对象.
后者完成一件事情,考虑提供的已知条件,并一步步通过已知条件获取想要的结果,注重的是过程.
2.类:用来表示具有某些相同特征的对象的群体,有属性没值,抽象出来的;
对象:具有的属性就是对象具有的各种特性 反映了对象信息具有的行为(等价于方法或函数)即是方法 实际存在的东西.
3.oc语言中源文件扩展名是.m 头文件是.h 打印完成后自动换行,默认引入的框架 #import<Foundation/Foundation.h>
4.开辟内存在堆区
Car *_car = [Car alloc];
初始化对象的基本数据,保存到对象里
_car = [_car init];
栈区(程序员管理):基本数据类型 结构体 指针变量
堆区(不可直接管理):空间大 运行速度慢 存放对象
根据char开辟空间
char *_chars = malloc(sizeof(char));
5.调用set方法 给属性赋值(代码02 面向对象)
调用get方法 获取属性值
调用实例方法[对象 实例方法名];
6.属性:保存类可能会用到的数据 描述对象特征的一些类型变量.
7.C语言中的函数
函数声明:
返回值 函数名(形参);
返回值 函数名(形参){
函数实现
return 返回值;
}
oc语言中的方法
- 实例方法-->通过对象来调用的方法,可以使用属性值(对象已经创建,可以使用属性值);
+类方法-->通过类名调用的方法 调用不需要初始化 不能使用属性值(因为没有对象,所以没有属性值);
实例方法形式
-(返回值类型)方法名:(参数的类型)形式参数名;
类方法(方法名是runTheCar:) 切记冒号
+(void)runTheCar:(NSString *)name;
8.在Person类的.m
文件中创建一个私有方法,分别使用实例和类名调用该类私有方法.
+(void)fileFirst{
}
实例调用
[self fileFirst];
类名调用
[Person fileFirst];
9.方法重写(1.4总结)
//原方法
NSLog(@"%@",person);
//重写
-(NSString *)description{
return[NSString stringWithFormat:@"地址%p",self];
}