//  main.m
// 第一个OC类-方法2
#import <Foundation/Foundation.h> // 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 ;
}
- (int)sendMessage:(int)number :(char *)content{
return ;
}
- (int)sendMessageWithNumber:(int)number andContent:(char *)content
{
NSLog(@"发短信给%i, 内容是%s", number, content);
return ;
}
@end int main(int argc, const char * argv[]) {
// 1.通过类创建对象,堆中,栈中内存函数结束是释放,堆中要自己释放。p是堆中字节最小的地址。p称之为Ipone的对象。
Iphone *p = [Iphone new];
// 2.修改对象的属性
p->_size = 3.5;
p->_color = ;
p->_model = ;
p->_cpu = ;
// 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:];
[p sendMessage: :"luck"];
[p sendMessageWithNumber: andContent:"hi"];
return ;
}

oc4--方法的更多相关文章

  1. javaSE27天复习总结

    JAVA学习总结    2 第一天    2 1:计算机概述(了解)    2 (1)计算机    2 (2)计算机硬件    2 (3)计算机软件    2 (4)软件开发(理解)    2 (5) ...

  2. mapreduce多文件输出的两方法

    mapreduce多文件输出的两方法   package duogemap;   import java.io.IOException;   import org.apache.hadoop.conf ...

  3. 【.net 深呼吸】细说CodeDom(6):方法参数

    本文老周就给大伙伴们介绍一下方法参数代码的生成. 在开始之前,先补充一下上一篇烂文的内容.在上一篇文章中,老周检讨了 MemberAttributes 枚举的用法,老周此前误以为该枚举不能进行按位操作 ...

  4. IE6、7下html标签间存在空白符,导致渲染后占用多余空白位置的原因及解决方法

    直接上图:原因:该div包含的内容是靠后台进行print操作,输出的.如果没有输出任何内容,浏览器会默认给该空白区域添加空白符.在IE6.7下,浏览器解析渲染时,会认为空白符也是占位置的,默认其具有字 ...

  5. 多线程爬坑之路-Thread和Runable源码解析之基本方法的运用实例

    前面的文章:多线程爬坑之路-学习多线程需要来了解哪些东西?(concurrent并发包的数据结构和线程池,Locks锁,Atomic原子类) 多线程爬坑之路-Thread和Runable源码解析 前面 ...

  6. [C#] C# 基础回顾 - 匿名方法

    C# 基础回顾 - 匿名方法 目录 简介 匿名方法的参数使用范围 委托示例 简介 在 C# 2.0 之前的版本中,我们创建委托的唯一形式 -- 命名方法. 而 C# 2.0 -- 引进了匿名方法,在 ...

  7. ArcGIS 10.0紧凑型切片读写方法

    首先介绍一下ArcGIS10.0的缓存机制: 切片方案 切片方案包括缓存的比例级别.切片尺寸和切片原点.这些属性定义缓存边界的存在位置,在某些客户端中叠加缓存时匹配这些属性十分重要.图像格式和抗锯齿等 ...

  8. [BOT] 一种android中实现“圆角矩形”的方法

    内容简介 文章介绍ImageView(方法也可以应用到其它View)圆角矩形(包括圆形)的一种实现方式,四个角可以分别指定为圆角.思路是利用"Xfermode + Path"来进行 ...

  9. JS 判断数据类型的三种方法

    说到数据类型,我们先理一下JavaScript中常见的几种数据类型: 基本类型:string,number,boolean 特殊类型:undefined,null 引用类型:Object,Functi ...

  10. .NET Core中间件的注册和管道的构建(3) ---- 使用Map/MapWhen扩展方法

    .NET Core中间件的注册和管道的构建(3) ---- 使用Map/MapWhen扩展方法 0x00 为什么需要Map(MapWhen)扩展 如果业务逻辑比较简单的话,一条主管道就够了,确实用不到 ...

随机推荐

  1. 自学Python六 爬虫基础必不可少的正则

    要想做爬虫,不可避免的要用到正则表达式,如果是简单的字符串处理,类似于split,substring等等就足够了,可是涉及到比较复杂的匹配,当然是正则的天下,不过正则好像好烦人的样子,那么如何做呢,熟 ...

  2. HTTPS 为什么更安全,先看这些

    HTTPS 是建立在密码学基础之上的一种安全通信协议,严格来说是基于 HTTP 协议和 SSL/TLS 的组合.理解 HTTPS 之前有必要弄清楚一些密码学的相关基础概念,比如:明文.密文.密码.密钥 ...

  3. 自己整理的HTML基本标签参考知识

          基 本 标 签 创建一个HTML文档 <html></html> 设置文档标题以及其他不在WEB网页上显示的信息 <head></head> ...

  4. POJ_2411_Mondriaan's Dream_状态压缩dp

    Mondriaan's Dream Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 15407   Accepted: 888 ...

  5. C#连接Oracle数据库的方法(System.Data.OracleClient、Oracle.DataAccess.Client也叫ODP.net、Oracle.ManagedDataAccess.dll)

    官方下载地址(ODP.net)(中文):http://www.oracle.com/technetwork/cn/topics/dotnet/downloads/index.html 官方下载地址(O ...

  6. eas之设置编辑界面分录的某一列不可编辑

    KDTEntrys.getColumn(“xx”).getStayAttributes().setlokced(true);

  7. [luogu4251 SCOI2015] 小凸玩矩阵 (二分图最大匹配)

    传送门 Description Input Output 输出包含一行,为选出的 n 个数中第 k 大数的最小值. Sample Input 输入样例1: 2 3 1 1 2 4 2 4 1 输入样例 ...

  8. [luogu3244 SHOI2016] 黑暗前的幻想乡(容斥原理+矩阵树定理)

    传送门 Description 给出 n 个点和 n−1 种颜色,每种颜色有若干条边.求这张图多少棵每种颜色的边都出现过的生成树,答案对 109+7 取模. Input 第一行包含一个正整数 N(N& ...

  9. JAVA关键技术

    通用技术方面 MVC 1)概念 MVC是一个架构模式,它分离了表现与交互.它被分为三个核心部件:模型-model.视图-view.控制器-controller 2)工作原理 所有的终端用户请求被发送到 ...

  10. 1.IDEA的安装

    .1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.