浅谈OC
编程思想:
1.面向过程:以事件为中心,关心的是完成该事件的详细步骤
2.面向对象:以事件为中心,设计每一个事物具备的特征和行为,而完成该事件只是事物所有功能中的一个小功能.
类:具备相同特征和行为的事物的抽象,是一个抽象的概念,不具体,相当于一个模板
对象:类的实例,类的具体表现,世间万物皆是对象,相当于使用类这个模板加工出来的一个一个的产品.
类的定义包含两部分:
1.接口部分:只给外界声明和访问的接口(功能).定义在.h文件中.
2.实现部分:对接口部分声明的接口依次实现,定义在.m文件中.
接口部分:以@interface 开头 + 类名 : (冒号表示继承, 表示有父类) 父类名 以@end结尾 (也就是.h文件里面的原代码)
接口部分的代码必须写在 @interface 以及 @end 之间才有效
@interface Person : NSObject
{
//实例变量 - - - 类比于结构体成员,描述类的特征
//实例变量要定义在大括号中,而且大括号中只能定义实例变量
NSString *name;//姓名
NSString *gender;//性别
NSInteger age;//年龄 //NSInteger == int / long
CGFloat height;//身高 //CGFloat == float / double
}
@end
文件和类的关系:
一个文件中可以存放多个类的定义,只要符合类的接口部分以及实现部分的定义格式即可
类的实现部分:以@implementation开头 + 类名(对哪个类实现) 以@end结束.
实现部分必须写在@implementation 以及 @end之间才有效.
- (void)setName:(NSString *)name gender:(NSString *)gender age:(NSInteger)age height:(CGFloat)height;
给实例变量赋值,外界传入对应变量的数据
方法名:setName:gender:age:height;
返回值类型:void
参数类型:NSString , NSString , NSInteger, CGFloat
参数名:name, gender, age, height