第01天OC语言(08):第一个OC方法2
2017-07-10 00:00
337 查看
#####二、代码
#import <Foundation/Foundation.h> #pragma mark 类 @interface IPhone : NSObject { @public float _model; // 型号 int _cpu; // cpu double _size; // 尺寸 int _color; // 颜色 } -(void)about; /* C语言的函数 : 没有返回值没有参数的 没有返回值参数的 有返回值没有参数的 有返回值有参数的 OC的方法 : 没有返回值没有参数的 - (void)text1; 没有返回值参数的 - (void)text2WithNumber:(int)number; 有返回值没有参数的 - (int)text3WithNumber; 有返回值有参数的 - (int)text2WithNumber:(int)number andNumber2:(int)number2; // 多个参数 */ // 有返回值没有参数的, 读取短信 -(char *)loadMessage; // 有返回值有参数的, 打电话 //int signal(int number) //call // 注意 : OC中的方法如果有参数, 那么每个参数的数据类型前面添加上一个 : // 注意 : 当前这个有参数的方法 他的方法名称 是 signal : // 冒号也是方法名称的一部分 -(int) signal:(int)number; // 有返回值并且多个参数的,发短信 // sendMessage(int number, char *content) // 下面这个方法名称是 sendMessage:: //- (int)sendMessage:(int)number :(char *)content; // 为了提高我们的阅读性, OC方法允许我们 给方法给每个参数添加一个表情,说明当前参数的含义 // 注意 : 标签也是方法名的一部分 // 方法名 是 sendMessageWithNumber:andContent: - (int)sendMessageWithNumber:(int)number andContent:(char *)content; @end #pragma mark 实现 @implementation IPhone // 行为的实现 -(void)about { // NSLog(@"打印本机信息\n"); // 如果在对象方法里面 想访问该对象的属性, 可以直接写上 _属性名称即可 NSLog(@"型号 = %f cpu = %i,尺寸 = %f, 颜色 =%i",_model,_cpu,_size,_color); } -(char *)loadMessage { char *content = "老婆我们家我做主"; return "lyh is cool"; } -(int) signal:(int)number { NSLog(@"打电话 %i",number); return 1; } /* - (int)sendMessage:(int)number :(char *)content { NSLog(@"发短息 %i, 内容: %s",number,content); return 1; } */ - (int)sendMessageWithNumber:(int)number andContent:(char *)content { NSLog(@"发短息 %i, 内容: %s",number,content); return 1; } @end #pragma mark main函数 int main(int argc, const char * argv[]) { IPhone *p = [IPhone new]; p->_model = 4; p->_size = 3.5; p->_color = 0; p->_cpu = 1; #warning 注意 : OC中的NSLog 对C语言的字符串支持不是很好,如果返回的是 中文的C语言字符串 可能输出的是乱码, 也有可能什么都不输出 [p about]; char *content = [p loadMessage]; NSLog(@"content %s",content); [p signal:10010]; // [p sendMessage:10010 :"fuck"]; [p sendMessageWithNumber:10010 andContent:"hehe"]; return 0; }
![](https://static.oschina.net/uploads/img/201707/10151931_BC1j.png)
相关文章推荐
- 第01天OC语言(07):第一个OC方法
- 第01天OC语言(09):第一个OC类方法
- 第04天OC语言(08):构造方法基本概念
- 第01天OC语言(06):第一个OC类
- 第01天OC语言(10):第一个OC类方法2
- 第01天OC语言(03):第一个OC程序
- 第01天OC语言(13):方法和函数的区别
- 第02天OC语言(08):对象作为方法的参数连续传递上
- IOS开发---OC语言-⑦类方法
- 08-OC的类方法
- OC语言构造方法
- OC-oc语言里的构造方法
- IOS开发---OC语言-⑤方法的声明和实现(无参,有1个参数,有2个参数)
- OC语言学习 (六) 继承、多态,构造方法,description方法
- 08-OC中NSArray的常见方法
- 黑马程序员之ios学习总结——10 OC语言的构造方法和分类
- OC语言的面向对象—类和对象、方法
- IOS开发---OC语言-⑳内存管理:set方法内存管理
- IOS开发---OC语言-⑭id、构造方法、自定义构造方法
- 我的第一个OC语言程序