- 1 : 24/04/17(水) 11:45:38 ID:DFn6
- コールバックてなんや?
- 2 : 24/04/17(水) 11:46:52 ID:DFn6
- 教えて
- 3 : 24/04/17(水) 11:47:25 ID:DFn6
- 教えてください
- 4 : 24/04/17(水) 11:47:45 ID:i4ON
- chatgptに教えてもらいなさい
- 5 : 24/04/17(水) 11:48:00 ID:DFn6
- >>4
使い方わからない - 6 : 24/04/17(水) 11:48:58 ID:rRKF
- コールバックってのは奥で呼び出すって理解や
関数の引数に関数を渡すことでさらに呼び出した関数の内部で引数に渡した関数が実行されるような実装があるんやけど、これをコールバック関数って呼ぶんやで - 7 : 24/04/17(水) 11:50:51 ID:7IqR
- >>6
その実装後任者クッソ困りそうやな… - 9 : 24/04/17(水) 11:51:41 ID:DFn6
- >>7
なんで困るの? - 10 : 24/04/17(水) 11:52:04 ID:rRKF
- >>7
そんなことないで
むしろ共通処理とそれ以外の部分を切り分けた関数を用意しているから再利用性が高いと思うで - 25 : 24/04/17(水) 12:09:35 ID:7IqR
- >>10
たしかにそうか - 27 : 24/04/17(水) 12:11:49 ID:rRKF
- >>25
>>16のサンプルコードも以下の部分の方がtype CallbackFunc func(int) intをみたしていれば自由に内部の処理を変えれらるんや
func double(x int) int {
return x * 2
} - 8 : 24/04/17(水) 11:51:24 ID:DFn6
- >>6
どういうこと? - 11 : 24/04/17(水) 11:53:15 ID:iGh6
- ああコルバな
- 12 : 24/04/17(水) 11:54:58 ID:DFn6
- >>11
精通してる感を出すために略すな - 13 : 24/04/17(水) 11:55:40 ID:DFn6
- あとさーアクセサメソッドって何?
ゲッターセッターとかいうやつ
あれいる?なんで必要なのかわからない - 14 : 24/04/17(水) 11:56:40 ID:6tnA
- >>13
何でもかんでもpublicにせんやろ?
アクセスするのにget,setいる - 15 : 24/04/17(水) 11:57:17 ID:DFn6
- >>14
いやget setがpublicならそもそも意味なくないか? - 17 : 24/04/17(水) 11:58:59 ID:rRKF
- 勢いで書いたコードだから命名とかがよろしくないかもしれんがすまぬ
- 26 : 24/04/17(水) 12:10:41 ID:7IqR
- 引数の中でクラスをインスタンス化して関数置いてその戻り値をそのまま引数にしちゃうような書き方見るけど、それも一つのコールバック関数になるん?
- 30 : 24/04/17(水) 12:14:05 ID:7IqR
- あぁ>>26の考えやっぱ違うな
引数の中で関数の戻り値を直接取り出すとかじゃなくて、ほんまに引数として関数置いて実行するものってことか - 32 : 24/04/17(水) 12:15:31 ID:DFn6
- なんでみんなそんな強強なの?
- 33 : 24/04/17(水) 12:15:59 ID:DFn6
- ゲッターセッターって意味なくない?
ゲッターはまだわかるけど - 37 : 24/04/17(水) 12:17:53 ID:rRKF
- >>33
オブジェクトのフィールドをプライベートにしてアクセス用のパブリックな関数から書き換えを行うようにしてるんや
オブジェクトの中身を隠蔽して不用意な書きかけを抑制してるんやと思うで - 39 : 24/04/17(水) 12:18:56 ID:DFn6
- >>37
どういうこと
パブリック関数でアクセスできてる時点で秘匿できてないじゃん - 35 : 24/04/17(水) 12:16:24 ID:7IqR
- ワイウェブやったことないせいでいまだにゲッターセッター意味不明や?
- 38 : 24/04/17(水) 12:18:05 ID:DFn6
- >>35
フィールドがあってそのアクセスをprivateにする代わりに
publicメソッドで取得操作できるってやつやけど
正直セッターゲッターで操作できてしまうのなら、フィールドpublicにすれば良くない? - 40 : 24/04/17(水) 12:18:57 ID:7IqR
- >>38
意味が分からない
なんか巡り巡ってオブジェクト指向の考え方から来てそうやな - 42 : 24/04/17(水) 12:20:41 ID:rRKF
- >>40
そうやでこれはオブジェクト思考のカプセル化におけるゲッターとセッターの考えかたと同じやね - 41 : 24/04/17(水) 12:20:07 ID:DFn6
- アクセサメソッドいちいち書いてたら、クラスが肥大化するし可読性という意味でもマイナスでしかないと思うんやが
- 44 : 24/04/17(水) 12:22:17 ID:rRKF
- >>41
そのためにもフレームワークがあると思ってるで
例えばSpringbootにはlombokライブラリがると思うがこれはアノテーションを付与するだけでgetter、setter、toStringメソッド等をコンパイル時に自動生成してくれるんや - 43 : 24/04/17(水) 12:21:16 ID:gSvH
- chatGPTに聞いたら?
人間に聞くとあーだこーだ文句言われる事あるし - 48 : 24/04/17(水) 12:23:47 ID:DFn6
- >>43
gptに聞いたら小馬鹿にされたんだが - 49 : 24/04/17(水) 12:25:58 ID:gSvH
- >>48
専門家に聞け的な事を言われたなら、多分聞き方が悪いので箇条書きでもいいから頑張って伝えろ - 45 : 24/04/17(水) 12:22:48 ID:ZaB5
- ゲッタセッタ要らないとか冗談で言ってんの?
- 47 : 24/04/17(水) 12:23:25 ID:DFn6
- >>45
まじよ - 46 : 24/04/17(水) 12:23:22 ID:piye
- もっとカプセル化とか勉強した方が良い
- 50 : 24/04/17(水) 12:27:19 ID:DFn6
- class Chinko {
public english = "penis"
public String getEnglish (){ return this.english}
}var class = new Chinko();
print(class.English);
print(class.getEnglish());フィールドに直接アクセスすればいいだろこれw
- 51 : 24/04/17(水) 12:29:50 ID:rRKF
- >>50
簡単なクラスならこれでもいいけどフィールドの種類が多いとそうはいかないんや
同じかたフィールドがあれば簡単に間違えて書き換えてしまうよ
結局人間は間違えるって考えが根底にあるんじゃないかと思で
コメント