Open
Description
In this example, the $Prefix
Property has no type specified. Theoratically, this means that the property can accept anything (basically, anything that is a descendant of type Object
)
Class Computer {
$Prefix
[int]$Number
[String]$FullName
Computer(){}
Computer([Int]$Number){
$this.SetName($Number)
}
[String] SetName([int]$Number){
$this.Number = $Number
$this.FullName = "$($this.Prefix)-{0:0000}" -f $Number
return $this.GetfullName()
}
[String]GetFullName(){
return $this.FullName
}
}
Class Server : Computer {
$Prefix = 'SRV'
Server($Number){
$this.SetName($Number)
}
}
Class Laptop : Computer {
$Prefix = 'LPT'
Laptop($Number){
$this.SetName($Number)
}
}
This is what it looks like:

The `[]` in front of the $Prefix property should not be empty like that, but filled with the word `Object`