OC-方法的声明和实现、匿名对象
方法声明:

方法调用:

*冒号也是方法名的一部分
*同一个类中不允许两个对象方法同名
练习
给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-方法的声明和实现、匿名对象的更多相关文章
- Objective-C( 三、方法的声明与实现)
OC方法的声明与实现 oc方法的声明在@interface中 大括号外@end上面 oc方法的实现在@implementation 中@end上面 OC方法中,一个参数对应一个冒号 方法名: 例 f ...
- 牛客网Java刷题知识点之匿名对象、匿名对象的内存结构图、匿名对象的应用场景、匿名对象的使用、匿名对象的简单例子、匿名对象要注意的事项
不多说,直接上干货! 什么是匿名对象? 答: 没有名字的实体,也就是该实体没有对应的变量名引用. 没有名字的实体,没有引用类型变量指向的对象称作为匿名对象. 正常的,是 Car car = new ...
- [转载]java匿名对象
来源:https://blog.csdn.net/qiaoquan3/article/details/53300248 匿名对象:没有名字的对象:new Car(); //匿名对象其实就是定义对象的 ...
- OC 对象和匿名对象
OC 对象和匿名对象 对象和匿名对象的定义: 当new出一个对象时,如果用一个指针接收这个对象,那么这个指针通常被称为对象. 如果new出的对象,不用指针接收,那么这个对象就称为匿名对象. #impo ...
- java全栈day12----final static 匿名对象 内部类 包的声明与访问
final关键字概念 继承的出现提高了代码的复用性,并方便开发.但随之也有问题,有些类在描述完之后,不想被继承, 或者有些类中的部分方法功能是固定的,不想让子类重写.可是当子类继承了这些特殊类之后, ...
- OC之方法的声明实现和调用
1. 类是来描述一群具有相同特征和行为的事物的. 类还有行为. 类的声明 @interface 类名 : NSObject { 属性. } 方法的声明 @end 类的实现. @implementati ...
- 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 ...
- C#读取匿名对象的属性值的方法总结
目录 1.通过反射的方式获取属性值 2.新建个扩展方法,将object转成对应的匿名对象 通过new出匿名对象,可以直接调用该匿名对象的属性名,获取属性值. var objUser = new {Na ...
- JAVA笔记2__类/封闭性/构造方法/方法的重载/匿名对象
public class Main { public static void main(String[] args) { Chicken c1 = new Chicken(); Chicken c2 ...
- 匿名对象作为方法的参数和返回值与Random概念和基本使用
应用场景 1. 创建匿名对象直接调用方法,没有变量名. new Scanner(System.in).nextInt(); 2. 一旦调用两次方法,就是创建了两个对象,造成浪费,请看如下代码. new ...
随机推荐
- Spring Assert 断言
Assert(断言)的初步理解构思 Web 应用在接受表单提交的数据后都需要对其进行合法性检查,如果表单数据不合法,请求将被驳回.类似的,当我们在编写类的方法时,也常常需要对方法入参进行合 法性检查, ...
- Day_6作业_模拟人生
as #!/usr/bin/env python # encoding: utf-8 class wisdom(object): def __init__(self,n,g): self.n = n ...
- 【poj3122】 Pie
http://poj.org/problem?id=3122 (题目链接) 题意 给出N个pie的半径和F个friend,每个friend得到的pie必须一样,求每个人能得到的pie的最大大小. so ...
- 【poj1014】 Dividing
http://poj.org/problem?id=1014 (题目链接) 题意 给出有分别价值为1,2,3,4,5,6的6种物品,输入6个数字,表示相应价值的物品的数量,问一下能不能将物品分成两份, ...
- Servlet与JSP版本历史以及Tomcat支持的版本
查询这个的关键字:Java EE的版本历史. JavaServer Pages (JSP) Java Servlet 参考: https://en.wikipedia.org/wiki/Java_EE ...
- AutoIt3(AU3)开发的驱动备份工具
项目相关地址 源码:https://github.com/easonjim/Backup_Driver bug提交:https://github.com/easonjim/Backup_Driver/ ...
- HDU4612 Warm up
Time Limit: 5000MS Memory Limit: 65535KB 64bit IO Format: %I64d & %I64u Description N planet ...
- Java中使用JDBC
JDBC简介 JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言 ...
- Objective-C Runtime与黑客帝国
Runtime的消息机制让我容易想起黑客帝国的Matrix.而OC语言,就像是架构在C语言真实世界上的Matrix世界,Runtime接管了这个虚拟世界到真实世界的承接. 在黑客帝国里,Matrix的 ...
- UEditor上传图片到七牛云储存(java)
我们的网站一般放在虚拟空间或者服务器上,图片如果存在本地目录,会占用很多空间和流量,还增加了负担,好的办法是把图片存放到云储存服务里面,平时用url去拿 云储存:普遍说又拍云和七牛比较好,看到七牛免费 ...