我对“阶级”和“对象”的理解是否正确?

时间:2012-10-01 10:54:59

标签: objective-c

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

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

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

4 个答案:

答案 0 :(得分:1)

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

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

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

虽然他们都会移动,但他们可能会采用不同的方式(飞行,漂浮,翻滚,驾驶等),通过“覆盖”他们的超类“移动”方法。

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

答案 1 :(得分:0)

是的,'class'指的是类型,'object'指的是类的实例。

所以你可能有一个描述自行车的类Bike,以及3个物体bike1,bike2和bike3,它们都是Bike类的实例。

我希望这能解决问题。

答案 2 :(得分:0)

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

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

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

例如,选择一个名为Address的类。它会包含StreetZIPCountry等属性。此外,它可以使用方法GetDistance来计算从当前位置到地址的距离。然后你可以创建任意数量的对象:我的地址,你的地址,查克诺里斯的地址等等。

PS:我为Chuck Norris参考获得+1吗? : - )

答案 3 :(得分:0)

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

您的理解似乎是正确的,但您描述的有点令人困惑。 让我举个简单的例子:

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

以及一些方法: -刮 -步行 -喵 -...

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

一个名为“garfield”的cat对象(类“cat”的实例),其属性为: 姓名:加菲猫 颜色:橙色 性别:男 ... 哪个可以划伤,走路,喵喵......用它的方法。

我希望这是可以理解的。

格雷茨:)