作业帮 > 综合 > 作业

英语翻译@interface unicycle :nsobject{Pdeal *pedal;Tire *tire;}@

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/13 14:33:35
英语翻译
@interface unicycle :nsobject
{
Pdeal *pedal;
Tire *tire;
}
@end
就是大括号里的两段代码,我只模糊的知道有指针的意思,最让我头疼的是那两段代码前面的单词怎么和后面的一样啊,tire是轮胎的意思,但Tire *tire
这位小哥.这里的Tire是类名,tire是变量名,跟你的轮胎什么的没啥关系,虽然英文是这意思.
从基础说起,@interface是一个关键字,利用他可以定义一个类,其结构类似如下
@interface 类名:父类名{
变量定义; (成员变量)
}
@end
你的这个类是独轮车
而你定义的成员变量包含了另两个类,Pedal脚踏板类、Tire轮胎类
类生成的对象都有一个isa指针,形象的说Tire *tire就是指一个Tire类型的变量tire,相当于我们所说的int类型x,只不过对象类型一般都是指针,所以要加*号
如果你还要问类是啥,你需要从基础看起,面向对象的知识.
再问: Human *human = [[Human alloc] init]; 这位老哥,我只知道这段代码是分配一个内存,好像又初始化了一下,然后其他的就不懂了, 那个 Human *human 是什么东东? 这里是给谁分配内存,初始化谁? 谢谢老哥了。
再答: 你可能没有java c++基础吧,那给你稍微详解一下 什么叫类?类(Class)是面向对象程序设计语言中的一个概念。 在xcode中你的工程项目里点击菜单File/New File,找到一个objective-c class文件,写上你的类名,继承自NSObject。(NSObject是一个基类,OC基本上所有的类都继承自NSObject) 创建之后会得到一个头文件Human.h、一个实现文件Human.m 这就是你的Human类,很多数据什么的东西都包装在这里~探出接口与外界接触 Human *human 是定义一个对象 human是Human的一个实例 类和对象的关系很多说法,这个你自己百度一下吧 [[Human alloc] init]; alloc是分配一块堆内存空间给Human的对象 init是NSObject的初始化方法,你忘了我们是继承于NSObject的了吗?~!
再问: 这里是给human分配内存吧?可是为什么这里[[Human alloc] init] 这样写的呢? 给human分配内存里面应该[[human alloc] init] 这样写呀。。
再答: 为什么你认为 给human分配内存 就应该[[human alloc] init] 不能从字面去理解 要从其本质思考 如int a 我们知道定义一个int型的变量会占用4字节的空间 怎么知道是4字节 因为他是int类型而不是因为他是变量a 同理Human *human 我们知道他是Human类型 所以为这个对象开辟空间 而human仅仅是个指针 你可以理解为这个指针指向这块对象内存的首地址