1

我已经开始学习Objective-C,我只是想验证一下我对“类”和“对象”这两个概念的理解是否正确。如果这是错误的论坛,对于这些基本的问题,请告知我应该去哪里!

无论如何,我正在从一本关于该主题的书中学习 Objective-C,我现在正试图将这些知识变成“我自己的”。

到目前为止,我已经理解“类”是指可以从这个“类”“构造”的“对象”的描述???并且基于这个“类”的“对象”是由这个“对象”可以具有的特定“属性”和该对象可以执行的特定“方法”来理解的???所以对我来说“属性”类似于对“对象”的物理描述,“方法”是这个对象可以执行的“动作”吗?

4

4 回答 4

1

思考或汽车等是可视化面向对象概念的好方法。

你可以有一个“车辆”类,它有“船”、“飞机”、“汽车”、“自行车”等子类。

'Vehicle' 类有方法(你可以告诉它做的事情)'Move'、'Stop'、'Turn' 和 attibutes 'Colour'、'Speed'、'Weight' 等。所有子类都有相同的方法和属性,因为它们从超类“继承”它们。

虽然他们都在移动,但他们可能会以不同的方式(飞行、浮动、滚动、驱动等),通过“覆盖”他们的超类“移动”方法。

您驾驶的实际汽车是“汽车”类的“实例”。您妻子的汽车是汽车类的另一个实例。每个实例都有自己的属性(颜色等)。

于 2012-10-01T11:09:09.767 回答
0

class其视为对象的蓝图。对象也称为“实例”——类的实际“工作副本”。

属性实际上是您所期望的——在某些语言中,它也称为“属性”。例如颜色或位置之类的东西,可以设置和/或检索的东西。基本上,从开发人员的角度来看,属性主要是绑定到对象的变量,因为它不是“全局变量”。

“方法”就像一个函数,你可以调用一个对象来做某事。

例如,以一个名为Address. 它将具有类似StreetorZIP或的属性Country。此外,它可能有一种方法GetDistance来计算从您当前位置到地址的距离。然后你可以创建任意数量的对象:我的地址、你的地址、Chuck Norris 的地址等。

PS:查克·诺里斯(Chuck Norris)的参考资料会得到+1吗?:-)

于 2012-10-01T11:00:04.143 回答
0

是的,“类”指的是类型,“对象”指的是类的实例。

因此,您可能有一个描述自行车的 Bike 类,以及 3 个对象bike1、bike2 和bike3,它们都是Bike 类的实例。

我希望这能解决问题。

于 2012-10-01T10:59:23.363 回答
0

您的类基本上描述了您可以基于对象的属性和方法。

您的理解似乎是正确的,但您描述的有点混乱。让我给你一个简单的例子:

想想一只猫。这将是你的课。它具有以下属性:-名称-颜色-性别-...

还有一些方法: -Scratch -Walk -Meow -...

现在你知道猫是什么以及它能做什么了。有了这些知识,您可以根据您的类创建对象,例如:

一个名为“garfield”的猫对象(“cat”类的一个实例),具有以下属性: 名称:加菲猫 颜色:橙色 性别:男性 ... 可以抓挠、走路、喵喵叫和...使用它的方法。

我希望这是可以理解的。

问候:)

于 2012-10-01T11:06:57.877 回答