ここでは虹裏imgのかなり古い過去ログを閲覧することができます。
22/02/08(火)05:32:37 No.894923746
天才「」居たら助けて これで左のimgがnullになる理屈がよく解んない どっちもメンバを継承してインスタンスに中身を入れて取り出してるのは同じなんだから同じ結果になるんじゃないの? 継承先でフィールドの変数名が被ったら変数名は同じだけど別の箱として扱われるみたいな仕様があるの?
1 22/02/08(火)05:36:39 No.894923905
ぬるぽ
2 22/02/08(火)05:40:24 No.894924033
盆栽の「」だけどそうだろうね 左のいもげ=おぺにすはいもげインスタンスにおぺにすが入ってるけどゲットレスしてるのはふたばクラスのレスなので何も入っていない overrideしてみたら変わるかも
3 22/02/08(火)05:40:56 No.894924056
書き込みをした人によって削除されました
4 22/02/08(火)05:45:59 No.894924255
すげえ 何言ってんのか全然わからん
5 22/02/08(火)05:47:07 No.894924303
盆栽ってなんだ…?
6 22/02/08(火)05:49:59 No.894924401
凡才の盆栽か…
7 22/02/08(火)05:53:06 No.894924522
setterとattributeで継承した時に同じ変数どうするかで変わるんだっけ
8 22/02/08(火)05:53:22 No.894924532
同じ変数が同時に存在できるなんてことあるんだ
9 22/02/08(火)05:56:40 No.894924657
inner class(staticなしの方)でつくってるから
10 22/02/08(火)05:57:19 No.894924686
サブクラスで同名のフィールド定義して メインのimgとmayはBoard型に入れてるからじゃないの
11 22/02/08(火)05:59:09 No.894924745
thisが指してるのがどっちのresになるかみたいな感じじゃないかな img.res + "openis"; System.out.println(img.getRes()); img.setRes("unko"); System.out.println(img.getRes()); img.res = "chinko"; System.out.println(img.getRes()); img.setRes("unchi"); System.out.println(img.getRes()); とかやったらどうなる?
12 22/02/08(火)05:59:26 No.894924752
>>左のいもげ=おぺにすはいもげインスタンスにおぺにすが入ってるけどゲットレスしてるのはふたばクラスのレスなので何も入っていない >いもげクラスじゃなくてボードクラスだごめん 何回も読み返して考えたけどわっかんねー とりあえず今はこういう結果になるって暗記して 時間経って自分の理解度が上がったらまた読み返してみる 説明ありがとう!
13 22/02/08(火)06:00:26 No.894924795
そもそもフィールドってオーバーライド出来たんだ…
14 22/02/08(火)06:01:19 No.894924823
あーthisだからどっちにしろFutabaのres読んでるけど 左だとBoardのresに代入してるからか
15 22/02/08(火)06:05:06 No.894924941
変数の隠蔽とかのキーワードで検索してみたら
16 22/02/08(火)06:06:16 No.894924980
これだね https://docs.oracle.com/javase/tutorial/java/IandI/hidevariables.html
17 22/02/08(火)06:11:07 No.894925176
>継承先でフィールドの変数名が被ったら変数名は同じだけど別の箱として扱われるみたいな仕様があるの? そうじゃないと大規模なプロジェクトで被ったら困るよね あの名前が使えない!この名前を使ってるのはどこだ!って探すことになる
18 22/02/08(火)06:15:36 ID:GhHBZhxY GhHBZhxY No.894925340
javaってこれで動くんだ…始めて知った C#だと継承元の変数同じ名前の変数定義自体できないよね? 継承元がprivateならできるんだっけ?
19 22/02/08(火)06:17:17 No.894925402
暗黙にオーバーライドしてくれないんだ… 確かに言った通りに動いてはいるんだけどこれで通るの怖いねぇ
20 22/02/08(火)06:19:30 No.894925510
左の例でBoard内に新しいメソッド作ってそこからresにアクセスする場合 this.res → Board.res super.res → Futaba.res
21 22/02/08(火)06:23:50 No.894925683
>C#だと継承元の変数同じ名前の変数定義自体できないよね? >継承元がprivateならできるんだっけ? 継承元がprivateで同名ができないとフィールド名を付けるのに 先頭にクラス名を付けた冗長な命名になったり被らない名前探すハメになるから 少なくともprivateは名前被り許容してないといけない
22 22/02/08(火)06:25:58 ID:GhHBZhxY GhHBZhxY No.894925776
>継承元がprivateで同名ができないとフィールド名を付けるのに >先頭にクラス名を付けた冗長な命名になったり被らない名前探すハメになるから >少なくともprivateは名前被り許容してないといけない ありがとう 抽象クラスの自作クラスを継承することが無かったから知らなかった
23 22/02/08(火)06:26:09 No.894925787
色々調べてからもう一回読み直したら理解出来たかも 助言くれた「」のみんな本当にありがとう
24 22/02/08(火)06:54:21 No.894927130
eclipseというかjavaの画面久しぶりに見たな…新卒研修で触れたとき以来だ
25 22/02/08(火)06:59:50 No.894927450
見えないところで何をしていようが関係なく 自分の担当を好きに作れるってのが基本だからな 見えたり使えるようにするとそうしている理由や使い方の説明が必要になる
26 22/02/08(火)07:07:39 No.894927861
私this嫌い
27 22/02/08(火)07:18:01 No.894928536
ウンコードだとしてもなんでこんなんでウンコつくの…
28 22/02/08(火)09:11:19 No.894941798
オブジェクト指向として左はどうなの…