Objective-C新手:有没有人知道解释类,对象和方法的图表?

时间:2009-06-25 00:41:06

标签: objective-c

正如你可能已经从这个问题中猜到的那样 - 我在Obj-C之旅的开头正确

我希望那里的某些人知道一些描述类,对象和方法之间关系的图表 - 并且他们愿意分享。

我遇到的问题是,仅仅查看教科书中的代码并不能完全解释它 - 至少对我来说。

感谢阅读!

此致 斯潘塞。

5 个答案:

答案 0 :(得分:7)

没有图表,但这是我希望在开始之前阅读的教程: http://www.cocoadevcentral.com/d/learn_objectivec/

简单英语,所有基本概念。

答案 1 :(得分:2)

类就像任何语言的类一样。它们是 说明

对象就像名词一样。它们是类的 实例 。也就是说,如果您有一本通用书籍(该类)的描述,并且您根据该描述创建了一个词库,则同义词库将成为该对象。

方法或多或少的功能。如果对象是名词,则消息为 动词

[ScienceBook getTableOfContents]; //this would like return a table of contents.

此处,对象ScienceBook正在发送getTableOfContents消息(方法)。所以现在,科学书籍理论上会找到,格式化并返回发送信息的目录。

答案 2 :(得分:2)

在某种程度上,图表可能对回答您提出的问题没有帮助。

考虑这样的事情可能会有所帮助:

“类”提供某些东西的原型或定义。例如,“人”或“汽车”。 “class”的常见同义词是“type”。

“对象”是类的具体示例或实例。例如,您是“人物”的实例,而您的汽车是“汽车”的实例。

“方法”是类的行为,动作或属性。但是,方法通常仅在对象的上下文中有意义。 “人” - > “吃”没有意义,但“你” - > “吃”是。

这些是面向对象的基本概念,不是Objective-C特有的。如果您对与语言无关的概述感兴趣,我推荐David West的“Object Thinking”。即使它来自Microsoft Press,它也涵盖了概念而不是任何特定语言。

答案 3 :(得分:2)

我来自一个相当强大的C ++背景,但我绝对记得当我开始时,我很难理解这个概念,直到找到一种方法将它与物理对象联系起来。

您可以使用几乎可互换的单词类和对象。将对象视为容器,如桶。桶这个词就是你的“班级”。它是您给对象类型的名称。

水桶有一定的目的......携带东西。它可能是水......或者也许是沙子。所以也许你想填补空缺。这是你对桶做的事情,所以在objective-c中,这将是你的方法。你可以写一些类似的东西:

- (void) fillWith:(elementType)something;

所以在这种情况下,“某些东西”可能代表你希望填充你的桶的东西。

您的课程可能如下所示:

typedef enum items {
   CRAYONS,
   MARKERS,
   SAND,
   WATER } elementType;


@class Bucket {
   elementType item;
}
- (void) fillWith:(elementType)something;

@end

这是one link一些Objective-c样本。还可以尝试苹果开发中心。

答案 4 :(得分:0)

如果您正在了解面向对象编程的信息(即类,对象,方法等的含义),那么我建议不要使用Objective-C。 Mac上的Objective-C在很大程度上依赖于Cocoa框架。 Cocoa框架庞大并且执行了许多“魔术”,这将使得更难理解OOP的基础知识。

更容易开始的地方是用于Web开发的语言。用这些语言更容易找到OOP的细节。