【发布时间】:2017-11-19 19:54:06
【问题描述】:
完全覆盖父构造函数的语法是什么?
在下面的代码中,我创建了一个 Animals 类和一个继承自 Animals 类的 Dogs 类。 Dogs 类有自己的构造函数,但不是替换 Animals 构造函数,而是在实例化类时同时运行 Animals 构造函数和 Dogs 构造函数。
class Animals {
[System.Collections.ArrayList]$animalList = @()
Animals() {
$this.animalList.add("moose")
$this.animalList.add("elephant")
$this.animalList.add("buffalo")
}
showAnimals() {
foreach($animal in $this.animalList) {
Write-Host $animal
}
}
}
class Dogs : Animals {
Dogs() {
$this.animalList.add("Doberman")
$this.animalList.add("Golden Retriever")
}
}
$someAnimals = New-Object Animals
$someDogs = New-Object Dogs
Write-Host "The animals list:"
$someAnimals.showAnimals()
Write-Host ""
Write-Host "The dogs list:"
$someDogs.showAnimals()
这会产生以下内容:
The animals list:
moose
elephant
buffalo
The dogs list:
moose
elephant
buffalo
Doberman
Golden Retriever
【问题讨论】:
标签: powershell oop inheritance constructor