英语翻译
@interface unicycle :nsobject
{
Pdeal *pedal;
Tire *tire;
}
@end
就是大括号里的两段代码,我只模糊的知道有指针的意思,最让我头疼的是那两段代码前面的单词怎么和后面的一样啊,tire是轮胎的意思,但Tire *tire
人气:315 ℃ 时间:2020-06-20 03:41:05
解答
这位小哥.这里的Tire是类名,tire是变量名,跟你的轮胎什么的没啥关系,虽然英文是这意思.从基础说起,@interface是一个关键字,利用他可以定义一个类,其结构类似如下@interface 类名:父类名{ 变量定义; (成员变量)} @...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仅仅是个指针 你可以理解为这个指针指向这块对象内存的首地址
推荐
猜你喜欢