Chapter4/4.9_Class/MultiStageInheritence.ps1
class Person { [string]$Name # フィールドはPublic扱いで、PrivateやReadOnlyにはできない [int]$Age Person([string]$name, [int]$age) { $this.Name = $name $this.Age = $age } } # クラスの継承 class Student : Person { [int]$Id # 基底クラスのコンストラクター呼び出し Student([string]$name, [int]$age, [int]$id) : base($name, $age) { $this.Id = $id } } # 多段継承 class Seventeen : Student { [bool]$IsReal # Get Onlyプロパティの設定や、Privateアクセス修飾子がない Seventeen([string]$name, [int]$age, [int]$id) : base($name, $age, $id) { # Get Onlyプロパティの代わりにコンストラクターで設定する $this.IsReal = $this.Age -eq 17 } } |