Objective C面向对象
2015-06-18 10:39
567 查看
面向过程
分析出解决问题的所需要的步骤,然后按照步骤一步一步实现。
面向对象
含义: 面向对象是把构成问题的事物分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描述某个事物在整个解决问题的步骤中的行为
特征:封装、继承、多态
面向对象编程:OOP;
类、对象、实例、方法、消息
类:是具有相同属性和相同行为的对象的集合(是对象的抽象形式)
对象:世间万物皆对象,对象是一个特定的事物(对象是类的实例)
实例:是对象的另一种叫法。
方法:是类能够进行什么样的操作,用来描述对象的行为(一般通过对象进行方法的调用)
消息:也称为方法调用,用于通知对象做什么。(通过向对象发送消息,对象接受到消息后找到对应的方法进行运行)
类的创建
成员变量:也叫实例变量
方法
实例方法:减号开头为实例方法,需要实例化对象之后,通过对象进行调用,实例化方法允许调用实例方法和实例变量
类方法:加号开头为类方法,不需要实例化对象,直接通过类名调用。
类方法注意点:
1.类方法可以调用类方法
2.类方法不可以调用实例化方法,但可以通过创建对象来访问实例方法
3.类方法不可以使用实例变量,类方法可以使用self,self不是实例变量
4.类方法作为消息,可以被发送到类里,不能发送到对象里去。
声明(两者区别在于一个“-”,一个“+”)
实例方法声明格式:-(返回值类型)
方法名:(数据类型)变量名;
例如:-(void)fun:(NSString *) name;
类方法声明格式:+(返回值类型)
方法名:(数据类型)变量名;
例如:+(void)fun:(NSString *)name;
实现
实例方法实现格式:-(返回值类型)
方法名:(数据类型)变量名{}
例如:-(void)fun:(NSString *) name
{方法内容}
类方法实现格式:+(返回值类型)
方法名:(数据类型)变量名{}
例如:+(void)fun:(NSString *)name
{方法内容}
对象的创建
对象创建格式:
1. 类名 *对象名 = [[类名alloc]init];
a) 例如: Student *stu =[[Student alloc]init];
2. 类名 *对象名 = [类名 new];
a) 例如:Student *stu = [Studentnew];
调用方法
1.调用实例方法:[对象 方法名];
例如:[stu fun];
2.调用类方法:[类名 方法名];
例如:[Student fun];
成员变量的赋值和取值:
格式:对象名->成员变量名
例如:stu->name;
id:表示任意对象
nil:有内存,但没有值
NULL:没有内存
注意点:
1.在OC中 @“” 表示字符串。
例如:NSString *name = @”lisi”;
2.在OC中,要输出字符串用到的格式化符合%@。
例如:NSLog(@”输出字符串:%@”,name);
3.便利构造器的命名:类名小写+描述。
例如:+(id)studentWithName;
常见错误:
1. 使用NSString形式的字符串时忘记前面加上@
2. @interface部分实例变量声明在{}外
3. @implementation部分进行实例变量的声明
4. 声明BOOL型变量时赋值为true或者false
分析出解决问题的所需要的步骤,然后按照步骤一步一步实现。
面向对象
含义: 面向对象是把构成问题的事物分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描述某个事物在整个解决问题的步骤中的行为
特征:封装、继承、多态
面向对象编程:OOP;
类、对象、实例、方法、消息
类:是具有相同属性和相同行为的对象的集合(是对象的抽象形式)
对象:世间万物皆对象,对象是一个特定的事物(对象是类的实例)
实例:是对象的另一种叫法。
方法:是类能够进行什么样的操作,用来描述对象的行为(一般通过对象进行方法的调用)
消息:也称为方法调用,用于通知对象做什么。(通过向对象发送消息,对象接受到消息后找到对应的方法进行运行)
类的创建
成员变量:也叫实例变量
方法
实例方法:减号开头为实例方法,需要实例化对象之后,通过对象进行调用,实例化方法允许调用实例方法和实例变量
类方法:加号开头为类方法,不需要实例化对象,直接通过类名调用。
类方法注意点:
1.类方法可以调用类方法
2.类方法不可以调用实例化方法,但可以通过创建对象来访问实例方法
3.类方法不可以使用实例变量,类方法可以使用self,self不是实例变量
4.类方法作为消息,可以被发送到类里,不能发送到对象里去。
声明(两者区别在于一个“-”,一个“+”)
实例方法声明格式:-(返回值类型)
方法名:(数据类型)变量名;
例如:-(void)fun:(NSString *) name;
类方法声明格式:+(返回值类型)
方法名:(数据类型)变量名;
例如:+(void)fun:(NSString *)name;
实现
实例方法实现格式:-(返回值类型)
方法名:(数据类型)变量名{}
例如:-(void)fun:(NSString *) name
{方法内容}
类方法实现格式:+(返回值类型)
方法名:(数据类型)变量名{}
例如:+(void)fun:(NSString *)name
{方法内容}
对象的创建
对象创建格式:
1. 类名 *对象名 = [[类名alloc]init];
a) 例如: Student *stu =[[Student alloc]init];
2. 类名 *对象名 = [类名 new];
a) 例如:Student *stu = [Studentnew];
调用方法
1.调用实例方法:[对象 方法名];
例如:[stu fun];
2.调用类方法:[类名 方法名];
例如:[Student fun];
成员变量的赋值和取值:
格式:对象名->成员变量名
例如:stu->name;
id:表示任意对象
nil:有内存,但没有值
NULL:没有内存
注意点:
1.在OC中 @“” 表示字符串。
例如:NSString *name = @”lisi”;
2.在OC中,要输出字符串用到的格式化符合%@。
例如:NSLog(@”输出字符串:%@”,name);
3.便利构造器的命名:类名小写+描述。
例如:+(id)studentWithName;
常见错误:
1. 使用NSString形式的字符串时忘记前面加上@
2. @interface部分实例变量声明在{}外
3. @implementation部分进行实例变量的声明
4. 声明BOOL型变量时赋值为true或者false
相关文章推荐
- 【转载】2015 Objective-C 三大新特性 | 干货
- 【转载】2015 Objective-C 三大新特性 | 干货
- iOS应用开发(三)Objective-C
- 【QT‘】 Object::connect: No such signal
- Objective-c
- j2se学习笔记-IO_4 Object流
- 深入浅出Objective-c
- block和函数指针有什么区别
- [Objective-C] 007_Foundation框架之NSString与NSMutableString
- WorldWind源码剖析系列:可渲染对象类RenderableObject
- 2015 Objective-C 三大新特性
- WorldWind源码剖析系列:可渲染对象列表类RenderableObjectList
- !!Js中Prototype、__proto__、Constructor、Object、Function关系介绍
- [ActionScript 3.0] SharedObject的用法简介
- JSONObject
- mongoose CastError: Cast to ObjectId failed for value
- Objective-C Runtime(二)消息传递机制
- instancetype和id的区别,objective-c
- Objective-C Runtime(一)预备知识
- 关于Object-C有关接口方面的应用