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
- oc
- oc
- OC
- OC
- OC
- oc
- oc
- oc
- OC
- OC
- oc
- oc
- OC
- OC
- OC
- oc
- oc
- OC
- hdu 1236 排名
- 静态常量和静态方法
- Android-视图显示大量图片时的内存问题_待更新
- spark集群管理简述
- php oop Study1
- OC
- Python unittest 参数化测试
- ubuntu之再体验【美化】-- 更改桌面图标大小
- Hibernate_5_老师与学生实例_多对多关联关系
- RTOS的一些重要概念以及代码维护中的相应问题举例
- 通过while实现程序的无限循环
- Unix:安装一个不存在的命令
- Strom学习(一)
- TCP/IP、Http、Socket的区别