kotlinのメモです。
830 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/