Objective-C-类和对象
2015-10-23 22:06
441 查看
一.OC的概述
Objective-C语言简称OC或者Obj-C语言,是苹果OS X和 iOS操作系统的主要编程语言
OOP(object oriented programming)面向对象程序设计
编程语言的高低等级,没有褒贬之分,只是有些语言偏向于机器(低级语言)有些语言偏向人的思维,更加人性化(高级语言)
区分面向对象和面向过程的区别
面向对象设计具有很好的可扩展性(在原有的模块上添加新的对象和方法),可重用性(某些代码可以重复使用实现需要的功能)
二.类和对象(重点)
类和对象是面向对象的核心(对象是类的实例,类是对象的类型)
一个类包括两部分:接口部分:我们用.h文件来管理声明部分,用@interface...@end来确定声明范围
实现部分:我们用.m文件来管理实现部分,用@implementation...@end来实现声明的行为(注意.m的意思是message的缩写)
NS是系统类的前缀,没有实际意义,我们创建一个对象遵循驼峰法命名
三.实例变量的操作
Person *person=[Person alloc];使用Person类创建一个person对象,使用alloc方法(类方法用+修饰符修饰,只能由类方法调用)分配一个存储空间给person
person=[person init];使用init方法将刚刚开辟出来的空间初始化,(init方法是实例方法,用-修饰符修饰,只能由实例对象调用)
Person *person=[[Person alloc]init];我们一般把alloc和init合并成一行减少代码量
四.OC中成员变量的初始化
1.在一个类的.h文件{}中声明成员变量,使用系统的初始化方法(实例方法)-(instanceof/id)init;
通过对应的.m文件给成员变量赋初值【这种方法是比较常见的方法】
2.在一个类的.h文件{}中声明成员变量,使用遍历构造器方法(类方法)+(instanceof/id)类名;
通过对应的.m文件创建实例对象再给成员变量赋初值【这种方法写起来方便】
3.在一个类的.h文件{}中声明成员变量,使用设置器setter和访问器getter方法来通过对象给成员变量赋初值【这种方法比较麻烦,如果变量多的话,要设置很多个设置器和访问器】
4.在一个类的.h文件中用
@property(nonatomic,assign)变量类型 变量名【这种方式将setter和getter进行了封装,使得代码量减少,提高效率】
@property(nonatomic,retain)变量类型 变量名【属性的属性:读写性(默认可读可写),原子性控制(我们通常使用nonatomic),语义设置(assign用于基本类型的非对象类型数据,retain用于对象类型的数据),如果是对象类型想得到参数的副本,使用copy关键字】
Objective-C语言简称OC或者Obj-C语言,是苹果OS X和 iOS操作系统的主要编程语言
OOP(object oriented programming)面向对象程序设计
编程语言的高低等级,没有褒贬之分,只是有些语言偏向于机器(低级语言)有些语言偏向人的思维,更加人性化(高级语言)
区分面向对象和面向过程的区别
面向对象设计具有很好的可扩展性(在原有的模块上添加新的对象和方法),可重用性(某些代码可以重复使用实现需要的功能)
二.类和对象(重点)
类和对象是面向对象的核心(对象是类的实例,类是对象的类型)
一个类包括两部分:接口部分:我们用.h文件来管理声明部分,用@interface...@end来确定声明范围
实现部分:我们用.m文件来管理实现部分,用@implementation...@end来实现声明的行为(注意.m的意思是message的缩写)
NS是系统类的前缀,没有实际意义,我们创建一个对象遵循驼峰法命名
三.实例变量的操作
Person *person=[Person alloc];使用Person类创建一个person对象,使用alloc方法(类方法用+修饰符修饰,只能由类方法调用)分配一个存储空间给person
person=[person init];使用init方法将刚刚开辟出来的空间初始化,(init方法是实例方法,用-修饰符修饰,只能由实例对象调用)
Person *person=[[Person alloc]init];我们一般把alloc和init合并成一行减少代码量
四.OC中成员变量的初始化
1.在一个类的.h文件{}中声明成员变量,使用系统的初始化方法(实例方法)-(instanceof/id)init;
通过对应的.m文件给成员变量赋初值【这种方法是比较常见的方法】
2.在一个类的.h文件{}中声明成员变量,使用遍历构造器方法(类方法)+(instanceof/id)类名;
通过对应的.m文件创建实例对象再给成员变量赋初值【这种方法写起来方便】
3.在一个类的.h文件{}中声明成员变量,使用设置器setter和访问器getter方法来通过对象给成员变量赋初值【这种方法比较麻烦,如果变量多的话,要设置很多个设置器和访问器】
4.在一个类的.h文件中用
@property(nonatomic,assign)变量类型 变量名【这种方式将setter和getter进行了封装,使得代码量减少,提高效率】
@property(nonatomic,retain)变量类型 变量名【属性的属性:读写性(默认可读可写),原子性控制(我们通常使用nonatomic),语义设置(assign用于基本类型的非对象类型数据,retain用于对象类型的数据),如果是对象类型想得到参数的副本,使用copy关键字】
相关文章推荐
- Type mismatch: cannot convert from Enumeration<String> to Enumeration<Object>
- Object of class stdClass could not be converted to string
- 数据源和连接池DataSource Objects and Connection Pools
- Windows API 之 CreateThread、WaitForSingleObject(未完)
- [iOS]Objective-C利用协议实现回调函数(类似java的回调函数)
- 一键横屏--------纠结了好久
- 细数Objective-C中的回调机制
- 文献阅读笔记: Real-time Multiple Objects Tracking with Occlusion Handling in Dynamic Scenes ---by 香蕉麦乐迪
- swift:Optional Type 、Swift和Objective-C混编的讲解
- Object-C与Swift的混合编程
- Objective-C学习-NSString的使用
- No default view was found for object type 10201 and query type 2
- 当一个GameObject有两个Collider组件时,Physics Material不起作用
- swift可以不继承NSObject
- JS解析XML数据,ActiveXObject("Microsoft.XMLDOM")对象兼容IE和火狐
- Objective - C 字符串 数组 字典 集合的基本使用
- Objective-C 类,对象,属性,方法
- Count in String and Object
- 动态代理
- PO BO VO DTO POJO DAO概念及其作用(转)