PowerShell 技能连载 - 使用 PowerShell 类(二)

从 PowerShell 5 开始,您可以定义 PowerShell 类。您可以使用类来创建新对象,并通过创建一个或多个构造函数,您可以方便地初始化新创建的对象。

让我们看看效果:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class Employee
{
[int]$Id
[string]$Name

Employee([int]$Id, [string]$Name)
{
$this.Id = $Id
$this.Name = $Name
}
Employee ([string]$Name)
{
$this.Id = -1
$this.Name = $Name
}
Employee ()
{
$this.Id = -1
$this.Name = 'Undefined'
}
}

这段代码运行后,将创建一个包含三个构造函数的 “Employee” 新类。以下是如何使用新类的方法:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
PS> [Employee]::new()

Id Name
-- ----
-1 Undefined



PS> [Employee]::new('Tobias')

Id Name
-- ----
-1 Tobias



PS> [Employee]::new(999, 'Tobias')

Id Name
-- ----
999 Tobias



PS>

每次调用都使用一个新的构造函数,并且该类根据需要创建相应的对象。

PowerShell 技能连载 - 使用 PowerShell 类(二)

http://blog.vichamp.com/2017/07/06/using-powershell-classes-2/

作者

吴波

发布于

2017-07-06

更新于

2022-07-06

许可协议

评论