方法声明:

  

方法调用:

*冒号也是方法名的一部分

*同一个类中不允许两个对象方法同名

练习

给Car类设计一个方法,用来和其他车比较车速,如果快返回1,慢返回-1,相同返回0

#import <Foundation/Foundation.h>
@interface Car : NSObject
{
@public
int speed;
} - (int)compareSpeedWithOther:(Car *)other; @end @implementation Car
- (int)compareSpeedWithOther:(Car *)other;
{
//speed //调用方法的speed
//other->speed//访问传入的speed
return speed - other->speed;
}
@end int main()
{
Car *c1 = [Car new];
c1->speed = ; Car *c2 = [Car new];
c2->speed = ; int a = [c1 compareSpeedWithOther:c2]; CSLog(@"a=%d", a); //输出20
}

匿名:(不推荐写)

int main()
{
Car *c; //定义指针
c = [Car new]; //创建对象,赋值给指针
//可以合成为一句:Car *c = [Car new];
[c run]; return ;
}
//匿名
int main()
{
[Car new]->speed = ;
[[Car new] run]; //speed 为0 ,与上边无关系 return ;
}

OC-方法的声明和实现、匿名对象的更多相关文章

  1. Objective-C( 三、方法的声明与实现)

    OC方法的声明与实现 oc方法的声明在@interface中 大括号外@end上面 oc方法的实现在@implementation 中@end上面 OC方法中,一个参数对应一个冒号 方法名: 例  f ...

  2. 牛客网Java刷题知识点之匿名对象、匿名对象的内存结构图、匿名对象的应用场景、匿名对象的使用、匿名对象的简单例子、匿名对象要注意的事项

    不多说,直接上干货! 什么是匿名对象? 答: 没有名字的实体,也就是该实体没有对应的变量名引用.  没有名字的实体,没有引用类型变量指向的对象称作为匿名对象. 正常的,是 Car car = new ...

  3. [转载]java匿名对象

    来源:https://blog.csdn.net/qiaoquan3/article/details/53300248 匿名对象:没有名字的对象:new Car();  //匿名对象其实就是定义对象的 ...

  4. OC 对象和匿名对象

    OC 对象和匿名对象 对象和匿名对象的定义: 当new出一个对象时,如果用一个指针接收这个对象,那么这个指针通常被称为对象. 如果new出的对象,不用指针接收,那么这个对象就称为匿名对象. #impo ...

  5. java全栈day12----final static 匿名对象 内部类 包的声明与访问

    final关键字概念 继承的出现提高了代码的复用性,并方便开发.但随之也有问题,有些类在描述完之后,不想被继承, 或者有些类中的部分方法功能是固定的,不想让子类重写.可是当子类继承了这些特殊类之后, ...

  6. OC之方法的声明实现和调用

    1. 类是来描述一群具有相同特征和行为的事物的. 类还有行为. 类的声明 @interface 类名 : NSObject { 属性. } 方法的声明 @end 类的实现. @implementati ...

  7. 1.import和include区别 2.NSLog 和printf区别 3.创建对象做的事情 4. 类和对象方法比较 5 匿名对象优缺点 6. 封装 7.作用域范围 8.id和instancetype 9.自定义构造方法规范 10.nil和Nil及NULL、NSNull区别

    1.import和include的区别: import可以防止头文件的重复包含 2.NSLog 和printf的区别: 1,NSLog可以自动换行, 输出调试信息, printf不能. 2,NSLog ...

  8. C#读取匿名对象的属性值的方法总结

    目录 1.通过反射的方式获取属性值 2.新建个扩展方法,将object转成对应的匿名对象 通过new出匿名对象,可以直接调用该匿名对象的属性名,获取属性值. var objUser = new {Na ...

  9. JAVA笔记2__类/封闭性/构造方法/方法的重载/匿名对象

    public class Main { public static void main(String[] args) { Chicken c1 = new Chicken(); Chicken c2 ...

  10. 匿名对象作为方法的参数和返回值与Random概念和基本使用

    应用场景 1. 创建匿名对象直接调用方法,没有变量名. new Scanner(System.in).nextInt(); 2. 一旦调用两次方法,就是创建了两个对象,造成浪费,请看如下代码. new ...

随机推荐

  1. window 系统设置无线wifi

    netsh wlan set hostednetwork mode=allow ssid=huage key=243573295 如上表示设置成功 然后继续输入 netsh wlan start ho ...

  2. 75.Android之基本架构

    转载:http://www.cnblogs.com/lijunamneg/archive/2013/01/18/2866953.html Android其本质就是在标准的Linux系统上增加了Java ...

  3. 【BZOJ-1857】传送带 三分套三分

    1857: [Scoi2010]传送带 Time Limit: 1 Sec  Memory Limit: 64 MBSubmit: 1077  Solved: 575[Submit][Status][ ...

  4. codeforces 723D: Lakes in Berland

    Description The map of Berland is a rectangle of the size n × m, which consists of cells of size 1 × ...

  5. text-indent无效解决方案

    text-indent是用来字符缩进的. 1.text-indent所在的元素是行内元素而非块级元素.比如用在span,a等行内元素上.解决方案:在行内元素加上display:block; 或者把目标 ...

  6. JS监听DOM结构变化

    在做一个微博的接入,需要判断微博是否被关注,要检查微博标签的DIV是否有“已关注”的字符,但这个DIV的内容是微博JSSDK动态生成.$("#id").html()是获取不到我想要 ...

  7. ListView优化-ViewHolder的优化备份

    ViewHolder.java package cn.edu.bzu.util; import android.content.Context; import android.util.SparseA ...

  8. Linux Dynamic Shared Library && LD Linker

    目录 . 动态链接的意义 . 地址无关代码: PIC . 延迟版定(PLT Procedure Linkage Table) . 动态链接相关结构 . 动态链接的步骤和实现 . Linux动态链接器实 ...

  9. wrapper for lua

    考虑使用已经有的dll,要写wrapper,使得在lua中能调用dll里的函数,嗯,参考<Programming in lua>,然后仿写luars232. 一.函数定义 先分析一个函数的 ...

  10. ASP.NET MVC 4入门

    一.MVC设计模式将Web应用分解成三个部分:模型(Models).试图(Views)和控制器(Controllers),这三部分分别完成不同的功能以实现Web应用. 视图(View)代表用户交互界面 ...