oc4--方法
- // 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--方法的更多相关文章
- javaSE27天复习总结
JAVA学习总结 2 第一天 2 1:计算机概述(了解) 2 (1)计算机 2 (2)计算机硬件 2 (3)计算机软件 2 (4)软件开发(理解) 2 (5) ...
- mapreduce多文件输出的两方法
mapreduce多文件输出的两方法 package duogemap; import java.io.IOException; import org.apache.hadoop.conf ...
- 【.net 深呼吸】细说CodeDom(6):方法参数
本文老周就给大伙伴们介绍一下方法参数代码的生成. 在开始之前,先补充一下上一篇烂文的内容.在上一篇文章中,老周检讨了 MemberAttributes 枚举的用法,老周此前误以为该枚举不能进行按位操作 ...
- IE6、7下html标签间存在空白符,导致渲染后占用多余空白位置的原因及解决方法
直接上图:原因:该div包含的内容是靠后台进行print操作,输出的.如果没有输出任何内容,浏览器会默认给该空白区域添加空白符.在IE6.7下,浏览器解析渲染时,会认为空白符也是占位置的,默认其具有字 ...
- 多线程爬坑之路-Thread和Runable源码解析之基本方法的运用实例
前面的文章:多线程爬坑之路-学习多线程需要来了解哪些东西?(concurrent并发包的数据结构和线程池,Locks锁,Atomic原子类) 多线程爬坑之路-Thread和Runable源码解析 前面 ...
- [C#] C# 基础回顾 - 匿名方法
C# 基础回顾 - 匿名方法 目录 简介 匿名方法的参数使用范围 委托示例 简介 在 C# 2.0 之前的版本中,我们创建委托的唯一形式 -- 命名方法. 而 C# 2.0 -- 引进了匿名方法,在 ...
- ArcGIS 10.0紧凑型切片读写方法
首先介绍一下ArcGIS10.0的缓存机制: 切片方案 切片方案包括缓存的比例级别.切片尺寸和切片原点.这些属性定义缓存边界的存在位置,在某些客户端中叠加缓存时匹配这些属性十分重要.图像格式和抗锯齿等 ...
- [BOT] 一种android中实现“圆角矩形”的方法
内容简介 文章介绍ImageView(方法也可以应用到其它View)圆角矩形(包括圆形)的一种实现方式,四个角可以分别指定为圆角.思路是利用"Xfermode + Path"来进行 ...
- JS 判断数据类型的三种方法
说到数据类型,我们先理一下JavaScript中常见的几种数据类型: 基本类型:string,number,boolean 特殊类型:undefined,null 引用类型:Object,Functi ...
- .NET Core中间件的注册和管道的构建(3) ---- 使用Map/MapWhen扩展方法
.NET Core中间件的注册和管道的构建(3) ---- 使用Map/MapWhen扩展方法 0x00 为什么需要Map(MapWhen)扩展 如果业务逻辑比较简单的话,一条主管道就够了,确实用不到 ...
随机推荐
- 管理mysql数据严格模式,和安全模式处理
最近使用mysql数据库高一点的版本遇到了,插入和修改等语句失败情况.语句没有错误,但是workbench提示 Field 'id' doesn't have a default value.原因是 ...
- RabbitMQ 官方NET教程(四)【路由选择】
在上一个教程中,我们构建了一个简单的日志记录系统. 我们能够广播日志消息给所有你的接收者. 在本教程中,我们将为其添加一个功能 - 我们将让日志接收者可以仅订阅一部分消息. 例如,我们将能够仅将关键的 ...
- System.Net.Mail 详细讲解
http://blog.csdn.net/liyanwwww/article/details/5507498
- 可变长度参数列表(Stering...aaa)
- intellij 创建java web项目(maven管理的SSH)
intellij 创建java web项目(maven管理的SSH) 环境intellij IDEA14.MAVEN.Spring.Struts2.Hibernate.Java Web.工程搭建. 1 ...
- 向properties文件中写入信息(针对获取properties文件失败的总结)
前段时间项目需要将某个属性动态的写入项目发布路径下的properties文件中;但是实际发布时发现找不到maven项目resource路径下的project.properties文件,调试多次代码如下 ...
- Arduino ULN2009驱动步进电机
一.实物图 二.例子代码 注:代码来自老外 http://www.4tronix.co.uk/arduino/Stepper-Motors.php 功能:控制电机正反转 // This Arduino ...
- layui confirm
layer.confirm('是否要删除信息!', { btn: ['确定', '取消'] }, function (index, layero) { //移除元素 $("#tr" ...
- windows 下安装mysql 成功版
mysql 下载地址 http://dev.mysql.com/downloads/ zip版下载 解压到本地 假设文件保存在C:\mysql-5.7.17-winx64 1.以管理员身份运行cmd. ...
- 微信小程序例子-保存图片到手机相册
微信小程序例子-保存图片到手机相册 1.关键代码 1)WXML文件 2)JS文件 saveImgToPhotosAlbumTap: function(){ // 图片必须是 https 的 var I ...