kotlinのメモです。
782 views
open class Person(var name:String, var age:Int) {
open fun show() {
println("${name}は${age}歳です")
}
fun list() {
println("${name}, ${age}")
}
}
class Worker(val job:String, name:String, age:Int):Person(name, age){
override fun show() {
println("${name}は${age}歳です。仕事は${job}です")
}
}
fun main(args:Array<String>) {
val w = Worker("programmer", "konishi", 41 )
w.show()
w.list()
}
Personクラスは引数にnameとageを取る。
WorkerクラスはPersonクラスを継承し、さらに、引数にjobを取るような場合。
12行目に記すように書く。
うっかりすると、こんな感じに書いてしまいそうだが
class Worker(val job:String, name:String, age:Int):Person(val name:String, val age:Int) {
}
継承するクラスにはパラメーターとして渡すので、valなどの定義はいらない。
ただし、Workerクラスに定義しているnameとage、Personに定義しているnameとageは同じ変数名にしておく必要がある。
同じであれば、子クラスに新しく追加する変数の順序は関係ない。
以下でもOK。
class Worker(name:String, private val job:String, age:Int):Person(name, age){
override fun show() {
println("${name}は${age}歳です。仕事は${job}です")
}
}
Page 9 of 36.
すぺぺぺ
本サイトの作成者。
プログラムは趣味と勉強を兼ねて、のんびり本サイトを作っています。
フレームワークはdjango。
ChatGPTで自動プログラム作成に取り組み中。
https://www.osumoi-stdio.com/novel/