Skip to content

SUB(成员)


声明或定义成员过程。

语法

vb
{ Type | Class | Union } typename

declare [ static | const ] Sub fieldname [calling convention specifier] [ alias external_name ] ( [ parameters ] ) [ Static ]

End { Type | Class | Union }

Sub typename.fieldname ( [ parameters ] ) [ Export ]

statements

End Sub

参数

typename

TypeClassUnion 的名称。

fieldname

过程的名称。

external_name

外部链接时字段的名称。

parameters

传递给过程的参数。

calling convention specifier(调用约定说明符)

可以是以下之一:CdeclStdcallPascal

描述

使用 Operator . (成员访问)Operator -> (指针成员访问) 访问 Sub 成员,以调用成员过程,可以选择性地接受 byvalbyref 的参数。typename 可以在不显式使用 Overload 关键字的情况下重载。

typename 是为其声明和定义 Sub 方法的类型名称。在 Namespace 中使用时,typename 的名称解析规则与过程相同。

一个隐藏的 this 参数(与 typename 具有相同类型)被传递给非静态成员过程。this 用于访问 TypeClassUnion 的字段。

要访问在 Type 外部作为全局定义的重复符号,请添加一个或最好两个点作为前缀:.SomeSymbol 或最好是 ..SomeSymbol(或在 With..End With 块内只用 ..SomeSymbol)。

可以使用 Static 说明符声明 Static(成员)。可以使用 Const 说明符声明 Const(成员)

示例

start GeSHi

vb
Type Statistics
  count As Single
  sum As Single
  Declare Sub AddValue( ByVal x As Single )
  Declare Sub ShowResults( )
End Type

Sub Statistics.AddValue( ByVal x As Single )
  count += 1
  sum += x
End Sub

Sub Statistics.ShowResults( )
  Print "Number of Values = "; count
  Print "Average          = ";
  If( count > 0 ) Then
    Print sum / count
  Else
    Print "N/A"
  End If
End Sub

Dim stats As Statistics

stats.AddValue 17.5
stats.AddValue 20.1
stats.AddValue 22.3
stats.AddValue 16.9

stats.ShowResults

end GeSHi

输出:

Number of Values =  4
Average          =  19.2

方言差异

参见

  • Class
  • Function (Member)
  • Sub
  • Type

返回 目录

基于 FreeBASIC 官方文档翻译 如有侵权请联系我们删除
FreeBASIC 是开源项目,与微软公司无隶属关系