プログラミング勉強してるんやけど、誰かプログラミング教えて〜

記事サムネイル
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
簡単なクラスならこれでもいいけどフィールドの種類が多いとそうはいかないんや
同じかたフィールドがあれば簡単に間違えて書き換えてしまうよ
結局人間は間違えるって考えが根底にあるんじゃないかと思で

コメント

タイトルとURLをコピーしました