OC

来源:互联网 发布:dw软件破解版 编辑:程序博客网 时间:2024/05/16 09:34
面向对象编程 oop面向过程编程 pop对象是类的实例//面向过程编程(Procedure Oriented Programming, pop):以事件为中心,关心该事件的详细过程,一步一步实现//面向对象编程(Object Oriented Programming, OOP):以事物为中心,也就是参数事件的参与者,设计事物的功能,而完成事件只是事物所有功能中的一个小功能//类 : 具有相同特征和行为的事物的抽象//类是一个抽象的概念,在生活中不具体//对象是类的实例,也就是类的具体表现,是具体的,生活的万物都是对象//如何描述一个类? 通过特征(静态属性)和行为(动态属性,动作 //NSObject 根类/** *  类的定义分为两部分: 1,类的接口部分:提供外部访问的接口,相当于使用说明书 2.类的实现部分: 相当于功能的实现 *//** *  类的接口部分写在.h文件中。/** *  类的实现部分写在.m文件中 类的实现部分:坑点 (1)@implementation开头,@end结束,实现内容必须写在中间才有效 (2)@implementation 后的 Person 是要实现的类(需要指定要对那一个类做实现) */// 产生原因:geValue:b:c:方法虽然在.h文件中声明,但是没有在.m文件中实现//解决方案:将该方法在.m文件中实现即可//类的实现就是实现该类的方法。 接口部分定义: (1)以@interface开头,以@end结束,只有把类的接口定义内容写在开始和结束之间才有效 (2)Person 类名  (3): 冒号表示继承,表示它有父类 (4)NSObject 父类名 。 */@interface Person : NSObject{    //实例变量必须写在大括号之内,而且大括号之内只能写实例变量        //对应描述一个类的特征    //实例变量 类似与结构体中的结构体成员    NSString *name;//姓名 字符串类型    NSString *sex;//性别    NSInteger age;//年龄}//OC的方法 对应 描述一个类的行为//void sayHi();- (void)sayHi;  //方法名 sayHi//OC中方法调用,采用消息发送机制        //[receiver   message],第一个为消息接收者,为类或对象,        //receiver  消息接收者  -:减号给对象发消息, +:加号给类发消息        //message 是消息,为方法, -:减号给对象发消息, +:加号给类发消息    //创建对象分两步:        //1.开辟空间        //通过[Person alloc]在堆区开辟的空间才是真正的空间,只不过对于指针变量per存储着堆区的首地址,通过它能访问对象,所以我们把指针变量per叫做对象,(但真正的对象是堆区空间,per本质上就是一个指针变量)        //id可以代表所有的对象类型,可以用对应类型的对象来接收//       Person *per = [Person alloc];//        //2.初始化(赋初值) init方法完成初始化操作-号方法,对象调用//        per = [per init];        //通常创建对象操作连起来做\Person *per = [[Person alloc] initWithName:@"Frank" sex:@"man" age:18];        [per sayHi];        Person *cuichengjie = [[Person alloc] init];        [cuichengjie sayHi];        Person *cui = [[Person alloc] init];        [cui sayHi];- (void)sayHi{    NSLog(@"name:%@,sex:%@,age:%ld", name, sex, (long)age);}//自己定义一个初始化方法(自定义了一个init方法)- (id)initWithName:(NSString *)aName sex:(NSString *)aSex age:(NSInteger)aAge{产生原因:没有找到给接收者发送的消息(也就是.h文件中没有该方法)解决方案:查看接收者和对应的消息是否匹配,如果不匹配,改成匹配的,或者在该类添加该方法    -号和+的区别

0 0