oc中函数的声明
2015-07-30 11:40
141 查看
@interface Teacher : NSObject { // @public // NSString *_name; // //类的外部内部都可以使用,尽量不要使用 // // // // @protected // // NSString *_gender; // //只能在类的内部和子类中才能使用,如果没有写关键字,默认为protected。 // // @private // NSInteger _age; //在java中是类,在objective-c中是基本类型,只是typedef了一下; // //只能在类的外部和子类中使用,除非特殊的情况下才能用到。 NSString *_name; NSString *_gender; NSInteger _age; } //oc中的方法分两种,类方法,实例方法 /*类方法只能用类调用 [ 类名 类方法名], 用 + 开头 实例方法只能用对象调用, [对象 实例方法名]; */ +(void)sayHi; -(void)sayHello; //函数名是由修饰词组成的,就是冒号:前面的词. //方法名使用驼峰命名法:首字母小写,第一个参数修饰符,第二个参数修饰符首字母小写,同样使用驼峰命名法 -(void)setname:(NSString *)name setAge:(NSInteger )age; //有返回值,无参数 -(NSString *)getName; //无返回值有参数(1个参数),参数以:开头,类型用()括起来 -(void)eat:(NSString *)food; //操作实例变量的setter和getter方法,这是一个特殊的方法,编译器在@property时会自动给你提供。 /* 1 .设置_name的值, 2. 是实例方法,只有一个参数跟操作的实例变量有关。 3. 方法名 set + 实例变量名(忽略_,遵守驼峰命名法) 4. 参数类型跟操作的实例变量的类型一致 5. 参数名是 实例变量名(忽略下划线_) */ -(void)setname:(NSString *)name; //getter方法不用get开头。因为!@#¥%……&*( //getter方法不用get开头。因为!@#¥%……&*( /* 1.getter方法是实例方法 2.没有参数 3.有返回值,返回值类型与操作的实例变量保持一致 4.方法名 实例变量名(忽略_) 切记:不要以get开头 */ -(NSString *)name; -(NSString *)name;
.m文件中的实现
#import "Teacher.h" @implementation Teacher +(void)sayHi { //类方法中,不能使用实例变量(调用类方法时,没有创建对象,所以不能调用实例变量) NSLog(@"hello,class"); } //无返回值,方法的返回值用()括起来。无参数 -(void)sayHello { NSLog(@"hello,instance"); } //有参数,无返回值 -(void)setname:(NSString *)name setAge:(NSInteger)age { _name = name; _age = age; } //有返回值,无参数 -(NSString *)getName { return _name; } //无返回值有参数(1个参数),参数以:开头,类型用()括起来 -(void)eat:(NSString *)food { NSLog(@"The food I eat is %@",food); } @end
相关文章推荐
- android布局中显示隐藏动画
- Zend Studio技巧大全:[1]Zend Studio快捷键
- win7 远程桌面连接 ubuntu12.04
- 二叉查找树 BST
- 微信卡券接口 - 系统流程实现
- mysql创建存储过程并在php中调用
- 代码杂记
- 微信公众平台开发 无高级接口账号获取用户基本信息(转)
- html<textarea>标签
- sublime text 3 Package Control下载及安装教程
- 浏览器内存泄露
- VirtualBox官网下载及安装教程
- 《我的助理辞职了》,很不错的文章,受益颇多,共勉
- 数据流程图与程序/系统结构图等的解释与说明
- HDU 3045 Picnic Cows (斜率优化DP)
- 如何在Android中为TextView动态设置drawableLeft等
- AngularJS中使用Directive、Controller、Service
- 自定义onTouchEvent之ACTION_MOVE不响应
- 【Hibernate】(1)初识Hibernate
- Mysql 存储过程查询结果赋值到变量的方法