Kotlinのクラスの継承に関してです。
クラスの継承は、Javaにもあり書き方のパターン的に同じですが、
少々ルールが異なります。

例では、従業員を表すEmployeeを親クラスとし、正社員であるPermanentを子クラスとしてもつ
クラスを例としてあげます。

1.親クラスには、openつける

継承元となる親クラスには、先頭にopenをつける必要があります。

2.overrideするメソッドにも先頭にopenをつける必要がある

継承元となるメソッド名の先頭にもopenをつける必要があります。
ここでは、メソッドintroduceの前にopenをつけています。

3.継承先のクラスの書き方

継承先のクラスでは以下のように記述します

class クラス名() : 継承元のクラス名(コンストラクタ引数) {
}

4.overrideしたいメソッドには、overrideを必ずつける

Javaとは違い必ずoverrideをつける必要があります。

親クラス・子クラスの挙動

親クラスを元に作成したtempStaffのintroduce関数では、
nameとidが

子クラスである、Permanentを元に作成したjohnのintroduce関数では、
nameとidとrankがそれぞれ出力されました。