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

类的声明如下:使用关键字@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. intellij idea 注释行如何自动缩进?

    我们指代代码注释的快捷键是 Ctrl+/ 但是加注释后"//"自动放在行首,没缩进,就像这样

  2. IPC$命令详解

    一 摘要二 什么是ipc$三 什么是空会话四 空会话可以做什么五 ipc$所使用的端口六 ipc管道在hack攻击中的意义七 ipc$连接失败的常见原因八 复制文件失败的原因九 关于at命令和xp对i ...

  3. Android ListView高度自适应和ScrollView冲突解决

    在ScrollView中嵌套使用ListView,ListView只会显示一行到两行的数据.起初我以为是样式的问题,一直在对XML文件的样式进行尝试性设置,但始终得不到想要的效果.后来在网上查了查,S ...

  4. 重写hashCode()的方法

    重写hashCode()方法的基本规则: 1.在程序运行过程中,同一个对象多次调用hashCode()方法应该返回相同的值 2.当两个对象通过equals()方法比较返回true时,这两个对象的has ...

  5. Proxifier设置代理

    1.首先需要开启http代理选项---配置文件->高级->HTTP代理服务器,勾选“启用HTTP代理服务器支持” 2.然后开始添加代理服务器选择“配置文件->代理服务器”,在弹出框点 ...

  6. Android studio在真机上进行调试

    1.在Android Studio中,把app的默认启动目标改为USB device,点击[app]→[app configuration],在[Target Device]选择[USB device ...

  7. Android动画效果translate、scale、alpha、rotate

    overridePendingTransition只支持android 2.0以上版本,动画效果在anim目录下的xml文件中定义,在程序中用AnimationUtils.loadAnimation( ...

  8. poj 3277 City Horizon (线段树 扫描线 矩形面积并)

    题目链接 题意: 给一些矩形,给出长和高,其中长是用区间的形式给出的,有些区间有重叠,最后求所有矩形的面积. 分析: 给的区间的范围很大,所以需要离散化,还需要把y坐标去重,不过我试了一下不去重 也不 ...

  9. poj 2411 Mondriaan's Dream(状态压缩dP)

    题目:http://poj.org/problem?id=2411 Input The input contains several test cases. Each test case is mad ...

  10. bzoj1997: [Hnoi2010]Planar

    2-SAT. 首先有平面图定理 m<=3*n-6,如果不满足这条件肯定不是平面图,直接退出. 然后构成哈密顿回路的边直接忽略. 把哈密顿回路当成一个圆, 如果俩条边交叉(用心去感受),只能一条边 ...