在上一个笔记中类的使用中,在编译链接的时候会有警告,原因就是我们没有对类进行声明

类的声明如下:使用关键字@interface

 #import <Foundation/Foundation.h>

 // 声明一个类

 @interface Book : NSObject
{
@public
double price;
}
// 声明一个方法(行为)
-(void) reng; @end int main(){
Book *b = [Book new];
b->price = ;
[b reng];
return ;
} // 定义一个类
/*
只用来实现@interface中声明的方法
*/
@implementation Book -(void)reng{
NSLog(@"书的价格%f",price);
} @end

上述代码中方法的实现中不会有属性,属性只需要在声明的时候定义即可

OC中声明有参数的方法:

一个参数:

 -(double) cheng:(double)n1;

 //实现
-(double) cheng :(double)n1{
return n1;
}

对个参数:

 -(double) cheng:(double)n1 :(double)n2;

 //实现
-(double) cheng :(double)n1 :(double)n2{
return n1 * n2;
}

调用带参数的方法:

1.首先创建对象:Calc *c = [Calc new];

2.调用:double d = [c cheng:2];   double d2 = [c cheng:2 :3];

3.为了我们在调用的时候能够知道哪个值是给哪个参数的我们可以再声明的时候这样写:

 -(double)num1: (double)n1 andNum2:(double)n2;

 //实现
-(double)num1:(double)n1 andNum2:(double)n2{
return n1 * n2;
} //调用
NSLog(@"两数乘积为=%f",[c num1: andNum2:]);

我们这是给调用num1:方法,传递了两个值,这样可读性更高

IOS-day02_OC中类的声明的更多相关文章

  1. C#中类的声明

    一.C#中类的声明 在C#中必须先声明类,然后才能在程序中使用. 类的声明格式如下: [类的属性] [访问修饰符] class 类名称 [: 父类名]{    [成员修饰符] 类的成员变量或者成员函数 ...

  2. OC基础--OC中类的声明与定义

    OC中设计一个类的步骤: 一.声明类: 1.用到的关键字--@interface 和 @end 2.类名 3.继承NSObject 4.属性 5.方法(行为,只需要声明) 二.实现(定义)类 1.用到 ...

  3. 李洪强iOS开发之OC[007] - 李洪强iOS开发之类的声明和实现

    类的声明和实现 类是一类具有相同特征和共同行为的集合 小轿车   大卡车   挖掘机    (车) 车类 类名: Car 属性: 颜色  速度  轮字数 共同行为: 跑  停  载人 对象: 是类的具 ...

  4. php中类的声明与使用

    <?php /**php语言是支持面向对象编程的,对于面向对象的编程,学过java和C++的人都知道啊! *如果不清楚的去baidu问一下就可以了. */ //我们来定义一个类,定义类的关键字是 ...

  5. Python中类的声明,使用,属性,实例属性,计算属性及继承,重写

    Python中的类的定义以及使用: 类的定义: 定义类 在Python中,类的定义使用class关键字来实现 语法如下: class className: "类的注释" 类的实体 ...

  6. ios中关于delegate(委托)的使用心得

    ios中关于delegate(委托)的使用心得 分类: iOS开发2012-05-15 10:54 34793人阅读 评论(9) 收藏 举报 iosuiviewtimerinterfaceprinti ...

  7. [iOS笔试600题]一、语法篇(共有147题)

    [A]1. @property 的作用是申明属性及真特性?[判断题] A.正确 B.错误 [A]2. @synthesize的作用是自动笠成属性的访问器(getter/setter)方法?[判断题] ...

  8. 李洪强iOS经典面试题上

    李洪强iOS经典面试题上     1. 风格纠错题 修改完的代码: 修改方法有很多种,现给出一种做示例: // .h文件 // http://weibo.com/luohanchenyilong/ / ...

  9. iOS10权限声明国际化

    iOS 10要求用户声明隐私访问用途,而且不能为空,否则将会被拒.被拒邮件如下: 解决办法是在Info.plist中添加Privacy - Camera Usage Description和Priva ...

随机推荐

  1. LR_问题_无法使用LR的Controller,提示缺少license

    问题描述 无法使用LR的Controller,提示缺少license 问题解决 使用开始->所有程序->HP LoadRunner->loadrunner,在打开界面的左上角选择co ...

  2. 2014--9=17 软工二班 MyEclipse blue==修改浏览器语言

  3. C++工具系列博文合集

    http://www.cnblogs.com/itech/category/240779.html

  4. jQuery-瀑布流-浮动布局(一

    jQuery-瀑布流-浮动布局(一)(延迟AJAX加载图片)   瀑布流:这种布局适合于小数据块,每个数据块内容相近且没有侧重.通常,随着页面滚动条向下滚动,这种布局还会不断加载数据块并附加至当前尾部 ...

  5. Android的NDK开发(4)————JNI数据结构之JNINativeMethod

    转至:http://blog.csdn.net/conowen/article/details/7524744 1.JNINativeMethod 结构体的官方定义 typedef struct { ...

  6. Linux/Centos下清理内存和Cache方法

    Linux/Centos下释放内存和缓存方法 $ free -m 运行sync将dirty的内容写回硬盘$ sync 通过修改proc系统的drop_caches清理free的cache$ echo ...

  7. 转 intent常用功能

    1.从google搜索内容Intent intent = new Intent();intent.setAction(Intent.ACTION_WEB_SEARCH);intent.putExtra ...

  8. ganglia对于tomcat进程的res内存监控扩展

    ganglia是采用yum的安装,因此安装相关内容路径可能不同,但是不影响插件的扩展编写: 本次介绍的扩展是采用python脚本进行扩展,因此监控节点上需要安装python的相关插件: sudo yu ...

  9. Java 解析 XML

    Java 解析 XML 标签: Java基础 XML解析技术有两种 DOM SAX DOM方式 根据XML的层级结构在内存中分配一个树形结构,把XML的标签,属性和文本等元素都封装成树的节点对象 优点 ...

  10. Nodejs express中创建ejs项目 error install Couldn't read dependencies

    最近在看<Node.js开发指南>,看到使用nodejs进行web开发的时候,准备创建ejs项目遇到问题了   书上命令为:   express -t ejs microblog 可是执行 ...