oc4--方法
发布日期:2021-09-05 12:41:12 浏览次数:2 分类:技术文章

本文共 1996 字,大约阅读时间需要 6 分钟。

//  main.m//  第一个OC类-方法2#import 
// 1.编写类的声明@interface Iphone : NSObject{@public float _model; int _cpu; double _size; int _color;}// 注意: OC中的方法, 如果没有形参不需要写(), 而是直接写一个;因为OC方法中的()有特殊的用途, OC方法中的()是用来扩住数据类型的- (void)about;// 有返回值没有参数的, 读取短信- (char *)loadMessage;// 有返回值有参数的, 打电话// int signal(int number);// 注意: 当前这个有参数的方法它的方法名称是 signal: ,有没有冒号是2个方法,冒号也是方法名称的一部分- (int)signal:(int)number;- (int)signal;// 有返回值并且有多个参数的, 发短信// int sendMessage(int number, char *content);// 下面这个方法的方法名称是 sendMessage::- (int)sendMessage:(int)number :(char *)content;// 为了提高我们的阅读性, OC方法允许我们给每个参数添加一个标签来说明当前参数的含义,注意: 标签也是方法名的一部分// 方法名是 sendMessageWithNumber:andContent: (参数数据类型用括号括起来,参数的数据类型前面加冒号)- (int)sendMessageWithNumber:(int)number andContent:(char *)content;@end// 2.编写类的实现@implementation Iphone// 行为的实现- (void)about{ // 对象方法中访问该对象的属性, 直接写_属性名称,因为这里没有对象, NSLog(@"型号 = %f, cpu = %i, 尺寸= %f, 颜色 = %i", _model, _cpu, _size, _color);}- (char *)loadMessage{ char * content = "老婆我们家我做主"; return content;// return "wife is god"; 返回字符串是char *,}- (int)signal:(int)number{ NSLog(@"打电话给%i", number); return 1;}- (int)sendMessage:(int)number :(char *)content{ return 1;}- (int)sendMessageWithNumber:(int)number andContent:(char *)content{ NSLog(@"发短信给%i, 内容是%s", number, content); return 1;}@endint main(int argc, const char * argv[]) { // 1.通过类创建对象,堆中,栈中内存函数结束是释放,堆中要自己释放。p是堆中字节最小的地址。p称之为Ipone的对象。 Iphone *p = [Iphone new]; // 2.修改对象的属性 p->_size = 3.5; p->_color = 0; p->_model = 4; p->_cpu = 1; // 3.获取对象的属性 NSLog(@"size = %f, color = %i, model = %f, cpu = %i", p->_size, p->_color, p->_model, p->_cpu); // 4.如果给对象发消息(如果调用对象的方法) [p about]; // [对象 消息名称(方法名称)] // 注意: OC中的NSLog对C语言的字符串支持不是很好, 如果返回的是中文的C语言字符串可能输出的是乱码, 也有可能什么都不输出 char *content = [p loadMessage]; NSLog(@"content = %s", content); [p signal:13838338]; [p sendMessage:1383838333 :"luck"]; [p sendMessageWithNumber:123456789 andContent:"hi"]; return 0;}

 

转载地址:https://blog.csdn.net/weixin_34239169/article/details/85933462 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:处理ftp服务器 在重启后ftp客户端不能连接访问的问题
下一篇:服务端怎样暴露IBinder接口对象

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年04月24日 00时51分29秒