Swift中的新手课程
在上一篇文章中,我谈到了结构,因此我只认为对Classs进行跟进是正确的。
将Classes
制造商用来生产产品的模具。 您可以基于一个模具来创建许多产品。 使用一个模具( class
),您可以基于每个模具具有的形状,大小等属性( properties
)来创建多个产品( objects
)。
让我们看一下代码
打开操场跟进。
这是class
的基本语法。
如果您熟悉结构,您会注意到类似的类语法。
假设我们有一个简单的Person
class
示例。
在该类中,我们将具有name和age的properties
,然后将其赋予一个initializer
。
initializer
是我们每次尝试创建Person
object
时都会运行的方法。
在初始化程序中,我们传递组成Person的参数。
我们简单地创建一个名为person1
的变量,该变量等于Person
class
,当添加括号时,它将询问我们在初始化器中声明的参数。
现在我们可以使用person1
对象并获取其属性。
类中的功能
我们还可以在类中使用函数,这将使我们的人员对象具有调用能力。
使用getName()
我们返回一个String
说“您的名字是_____”
我们可以通过person1
对象访问函数。
类是引用类型
类是引用类型,而结构是值类型。 我将演示引用类型如何工作。
如果您想了解结构和值类型,请转到我的前一篇文章。
如果要创建一个新对象, person2
如下所示:
然后创建一个变量person3
等于 person2
:
然后我们更改person3的属性,让我们看看它将如何更改person2。
让我们给person3
55岁 。
现在,让我们同时阅读person2和person3的年龄。
您可以看到两个年龄都相同。
为什么?
这是因为person3本质上是person2。
当我们存储一个类时,我们会将这些信息存储在内存中,并且person2持有对该数据所在位置的引用。
当使person3等于person2时,我们只需查看该数据的相同参考位置。
Person3不是person2的副本。 是人2。
希望有道理。
包起来
这是有关类的非常准系统的文章,我计划在另一篇文章中也涉及类的继承。
我希望当我尝试简单地解释它时,这是一个容易理解的概念。 如果您有任何疑问或建议,请随时告诉我。
如果您在指南中陷入困境,我将在我的GitHub上提供示例代码,以供您检查您的代码,以了解问题出在哪里。 或者只是让我知道,我会尽力帮助。 😊
再次感谢您的阅读!