iOS探索--类的定义
2017-08-08 18:12
211 查看
一、前言
C和OC最大的区别就是面向对象编程。OC作为面向对象编程语言,那么肯定具备面向对象特征。面向对象程序设计过程中有俩个重要概念:类(class)和对象(object,也称为实例instance),类是某一批对象的抽象,对象才是一个具体存在的实体。OC中定义类需要分俩个步骤:接口部分和实现部分。接口部分定义该类包含的成员变量和方法;实现部分为该类的方法提供实现。
二、实例
1.创建HHPerson类
点击Next
填写好类名,点击Next,查看我们创建好的类:
从上图我们可以看到,有一个HHPerson.h文件和一个HHPerson.m文件。HHPerson.h文件是头文件。HHPerson.m文件是实现文件,实现文件一般是实现头文件中定义的方法用的。一般头文件.h只负责定义功能,实现文件.m负责实现具体功能。
2、实例演示,下面我们看下HHPerson.h文件
从程序中我们看到几个知识点:
(1)程序的结构
//类的定义格式
@interface 类名:NSObject{
//成员变量声明
}
//方法声明
(2)OC中任何一个类都是继承NSObject
(3)继承符号和C++中是一样的,使用冒号:
(4)方法定义:方法说明 (返回类型) 方法名 : (参数类型)参数名称
(5)方法声明标识”+”“-“。”+”代表该方法是对象方法,就是必须用对象实例才能调用的。”-“代表该方法是类方法,不需要实例化对象的,就是可以用类直接调用
(6)带形参的方法说明
多个参数的方法定义。这个方法的方法名就是setName:setAge:。(参数类型)参数名称:类型需要用括号括起来。类型为void说明没有返回值,如果没有返回值必须用void来声明。OC中的对象类型相当于C中指针定义样式(类名 *),这点需要注意。
(7)@end关键字代表结束
实现类HHPerson.m文件
实现类使用的是@implementation 关键字
在实现的源文件中,必须导入类的定义的头文件HHperson.h
定义和实现都完成后。接下来看看如果使用main.m文件
OC中实例化方法:
先定义一个指针变量,然后是调用类的alloc方法,接着调用init方法,OC中任何类都是集成NSObject类的,这两个方法是NSObject定义的。alloc方法是类方法,init是对象方法。alloc方法也可以用new来代替。
对象方法的调用,有参方法:
调用无参方法,不需要传入参数
类方法调用
结尾
关于OC中类的定义以及实现,怎么使用就描述到这。还是要多用多写才能熟能生巧。
C和OC最大的区别就是面向对象编程。OC作为面向对象编程语言,那么肯定具备面向对象特征。面向对象程序设计过程中有俩个重要概念:类(class)和对象(object,也称为实例instance),类是某一批对象的抽象,对象才是一个具体存在的实体。OC中定义类需要分俩个步骤:接口部分和实现部分。接口部分定义该类包含的成员变量和方法;实现部分为该类的方法提供实现。
二、实例
1.创建HHPerson类
点击Next
填写好类名,点击Next,查看我们创建好的类:
从上图我们可以看到,有一个HHPerson.h文件和一个HHPerson.m文件。HHPerson.h文件是头文件。HHPerson.m文件是实现文件,实现文件一般是实现头文件中定义的方法用的。一般头文件.h只负责定义功能,实现文件.m负责实现具体功能。
2、实例演示,下面我们看下HHPerson.h文件
从程序中我们看到几个知识点:
(1)程序的结构
//类的定义格式
@interface 类名:NSObject{
//成员变量声明
}
//方法声明
(2)OC中任何一个类都是继承NSObject
(3)继承符号和C++中是一样的,使用冒号:
(4)方法定义:方法说明 (返回类型) 方法名 : (参数类型)参数名称
(5)方法声明标识”+”“-“。”+”代表该方法是对象方法,就是必须用对象实例才能调用的。”-“代表该方法是类方法,不需要实例化对象的,就是可以用类直接调用
(6)带形参的方法说明
-(void)setName:(NSString*)name setAge:(int)age;
多个参数的方法定义。这个方法的方法名就是setName:setAge:。(参数类型)参数名称:类型需要用括号括起来。类型为void说明没有返回值,如果没有返回值必须用void来声明。OC中的对象类型相当于C中指针定义样式(类名 *),这点需要注意。
(7)@end关键字代表结束
实现类HHPerson.m文件
实现类使用的是@implementation 关键字
在实现的源文件中,必须导入类的定义的头文件HHperson.h
定义和实现都完成后。接下来看看如果使用main.m文件
OC中实例化方法:
HHPerson * person = [[HHPerson alloc] init];
先定义一个指针变量,然后是调用类的alloc方法,接着调用init方法,OC中任何类都是集成NSObject类的,这两个方法是NSObject定义的。alloc方法是类方法,init是对象方法。alloc方法也可以用new来代替。
对象方法的调用,有参方法:
//一个参数 [person eat:@"haozhao"]; //多个参数 [person setName:@"haozhao" setAge:20];
调用无参方法,不需要传入参数
NSString* name = [person name];
类方法调用
[HHPerson hao];
结尾
关于OC中类的定义以及实现,怎么使用就描述到这。还是要多用多写才能熟能生巧。
相关文章推荐
- iOS 用KVC来自定义Tabbar
- ios 自己定义导航栏和切割线
- 作业《IOS_C语言》函数分类、函数声明和定义、函数调用、形参实参、函数嵌套调用
- OS X以及iOS中与硬件环境相关的预定义宏
- iOS 结构体 定义变量注意事项以及保存到数组与读取
- IOS Block代码块的定义与使用
- iOS 定义多个参数函数的写法
- IOS 成员变量,全局变量,局部变量定义,static与extern的区别
- IOS atomic与nonatomic,assign,copy与retain的定义和区别
- IOS入门3--iOS开发中属性最常用的关键字及其定义
- ios开发 全局变量的定义和使用
- iOS中的枚举定义
- iOS-定义协议从一个app打开另一个app
- iOS: 定义 Block
- IOS探索之调整UILabel行高间距(利用iOS 6的特性来手动调整行间矩)
- IOS 定义UIToolbar里的UIBarButtonItem两种方式,从Button创建和从Title创建
- iOS 使用const定义项目全局变量
- IOS之美TextKit探索之排除路径
- iOS:枚举enum,NS_ENUM,NS_OPTIONS 定义和 位运算应用
- iOS--合理定义对象的引用类型strong/weak/assign/copy