就以基本面来说,类别跟结构都会有一些共同的东西:
而上述这些东西因为内容、功能各异,将来会有一些相关的说明。
然而类别(class)比起结构(struct)又多出一些东西:
上述这些东西大抵上是我们在字面上所见的异同,不过就样态上来说,类别与结构会长得像下面两者:
class、struct里面可以装类别的属性(property)、方法(method)、其他可以定义的特性。
刚开始接触class、struct的人可能比较不熟悉属性、方法这两个词:
像name、height就会是Human里面的属性。
如func的部分,我设置了一个会回传睡觉的函式,在实体化为Adam之後,才可以使用Adam来呼叫他下面的方法,即.sleep( )
其他的内容,如下标(subscript)、建构器(intialize)、扩展(extension)、协定(protocol)等内容较为复杂,之後文章会陆续提及。
总之,属性与方法是类别与结构比较容易理解的内容,而要使用一个在class或struct里面的函数,必须经过实体化的过成,生成一个实例(instance),如下
就前一个例子来说,我们制定了一个Human的struct,但实际上要取用这个Human里面的东西,无论是属性(property)或方法(method),都要经过 let 某个东西 =类别或结构名称()这个过程。
才会生成一个实际使用的实体(instance)
而这时候,我们就可以对Adam为所欲为了,不管是要叫他睡觉也好或啥鬼的。
综合上述,这篇大抵上提到了几个内容:
类别(class)、结构(struct)的相同、相异处(因为内容比较繁杂,所以之後另开篇章描述)
在类别、结构里面的常数(constant)、变数(variable)就是属性(property),而函式(function)被称为方法(method)
我们建构了class、struct里面的属性、方法後,如果要使用它,就必须要把它变成实体(instance),才能实际的使用其中定义的属性与方法。
铁人赛
>>: Day 22 Azure machine learning: set environment- 准备一个大家都能用的环境
跳转到IG、youtube 常常会看到许多程序有一个可以跳转到他们自己的ig、youtube的功能,...
今天来处理昨天建立的 Category 商品类别模型 假如说商店有机会扩大经营的话,那商品类别势必会...
if叙述 if叙述(if statement):是非结构。若条件运算式的结果为1(ture)则执行i...
前言 延续着上篇内容,这篇要继续来介绍jstack有些什麽options可以使用 options 介...
1. Benchmark,是GO语言用来做函数的效能测试。 2. Go语言对效能测试函数的名称与函数...