プログラミングできるやつ来い!

サムネイル
1 : 2022/10/31(月) 17:08:03.157 ID:+/3wc8BU0HLWN
interface ってなんのために必要なの?
2 : 2022/10/31(月) 17:08:32.211 ID:EWH3OAig0HLWN
プログラミング出来ないけど来たよ
3 : 2022/10/31(月) 17:08:52.248 ID:+/3wc8BU0HLWN
>>2
来なくていいよ
4 : 2022/10/31(月) 17:08:54.211 ID:ZmqFfUSs0HLWN
「お前と話してるとラチあかんから話通じるやつ連れてこい」
5 : 2022/10/31(月) 17:09:06.379 ID:nWaUqrwm0HLWN
必要な機能を実装させるため
6 : 2022/10/31(月) 17:09:34.833 ID:vG7UMRev0HLWN
システムと他のシステムや人がやりとりする窓口をインターフェースというんだよ
14 : 2022/10/31(月) 17:13:37.742 ID:+/3wc8BU0HLWN
>>6
それって例えばWebとかやろうとすると必須になるの?
16 : 2022/10/31(月) 17:16:43.664 ID:nWaUqrwm0HLWN
>>14
Webじゃなくても必要とするライブラリとかあるし
イテレータもインターフェイスだ
27 : 2022/10/31(月) 17:28:38.519 ID:+/3wc8BU0HLWN
>>16
なるほどライブラリによって必須なもんもあるのか
その辺はその流儀に乗っ取らんとだめなんだな
7 : 2022/10/31(月) 17:10:22.834 ID:g+3r9xPA0HLWN
末端のやる気ないプログラマーに何かを強要するため
10 : 2022/10/31(月) 17:11:37.346 ID:+/3wc8BU0HLWN
>>7
そんな感じのもんなん?
8 : 2022/10/31(月) 17:10:28.575 ID:S2UvmusT0HLWN
エスパーするとgo使いだろ?
11 : 2022/10/31(月) 17:12:38.077 ID:DXggxbdB0HLWN
Goのinterfaceはなんかよくわからんあれ
型言語なのにいきなりダックタイピングみたいになった印象
13 : 2022/10/31(月) 17:12:55.320 ID:+/3wc8BU0HLWN
>>11
???
15 : 2022/10/31(月) 17:13:58.238 ID:nWaUqrwm0HLWN
>>11
型言語だからだろ
12 : 2022/10/31(月) 17:12:53.586 ID:N1lhlHj5MHLWN
できないけど来た
17 : 2022/10/31(月) 17:16:44.704 ID:Qzu8S+bkrHLWN
ググれよ
18 : 2022/10/31(月) 17:18:20.658 ID:gRQMhceX0HLWN
「インターフェース」とは複数のものをつなぐ技術や方法

「インターフェース」とは、複数の異なるもの同士を接続するといった意味を持つ言葉で、
ハードウェア間、ソフトウェア間、人間とコンピューターをつなぐ技術や方法を表すIT用語として主に用いられています

19 : 2022/10/31(月) 17:18:26.163 ID:U7wpVEzzdHLWN
昔JavaGold取ったとき深く勉強したことあったけど、バージョンアップと共に次々色々な機能付いてきて???ってなったな
privatemethodやらdefaultmethodやら
あれ全部使いこなしてるやついるのかね
20 : 2022/10/31(月) 17:19:33.268 ID:Qzu8S+bkrHLWN
>>19
むしろそれを使いこなさずにOOPをやってるとなるとだいぶゴミコード書いてそうだな
23 : 2022/10/31(月) 17:20:46.822 ID:nWaUqrwm0HLWN
>>19
privateは隠蔽化の技術だろ
21 : 2022/10/31(月) 17:19:56.708 ID:XohC9JN50HLWN
実装すべきメソッドを予め指定するもの
30 : 2022/10/31(月) 17:30:14.543 ID:+/3wc8BU0HLWN
>>21
それの意味しか無いと思ってたから書いてなくて動かないってなったことあったわ
教科書には書いてあったから一応書いてみたら動いた
何が違うのかよくわからんかったわ
34 : 2022/10/31(月) 17:33:37.485 ID:nWaUqrwm0HLWN
>>30
書かないとコンパイル通らないからな
そのインターフェースを使う側のクラスは実装されてない関数だろうと使おうとするから
どうせエラーになる
35 : 2022/10/31(月) 17:34:57.677 ID:+/3wc8BU0HLWN
>>34
へーそうなのか…
22 : 2022/10/31(月) 17:20:04.130 ID:DXggxbdB0HLWN
インターフェース「dogクラスはwalkって関数あるから使って!実装はお前に見せる必要ねーよな」
使う側「dog.walk()と…ほんとだ中身わからんけど動いた」

なんかこんなやつ

24 : 2022/10/31(月) 17:22:40.428 ID:D/A91fPZ0HLWN
プログラムを小さなモジュールに分割して、それを組み合わせて大きなシステムを作る
モジュールどうしの境目をインターフェースにしておくと、同じインターフェースに対応する別のモジュールに入れ替えたりできて便利
28 : 2022/10/31(月) 17:29:10.207 ID:2PkdUOTKaHLWN
プログラミングはやってるけどinterfaceはわからんけど来た
29 : 2022/10/31(月) 17:29:48.243 ID:0/Rm303+aHLWN
まだやってんのかよ
ビデオの赤白黄色の線をイメージすればよくわかる

「ビデオを見る」ためには赤白黄色の穴が必要だろ?でもビデオの中身は関係ない。
「ビデオを見るために赤白黄色を用意しましょう」がインターフェース
実際の映像が実装内容

31 : 2022/10/31(月) 17:32:02.020 ID:+/3wc8BU0HLWN
>>29
うーんなんとなくわからん
他のメソッドはインターフェースなしでも動くんだがこのメソッドは動かなかったとかある
38 : 2022/10/31(月) 17:36:59.290 ID:dGer/gNPaHLWN
>>31
一旦そこから離れろ
インターフェースとはクラスやメソッドを抽象化するための技法であり、実装はその抽象化されたルールに従うことを義務付けられるだけだ
それだけを考えて読み解いてみろ
32 : 2022/10/31(月) 17:33:01.463 ID:U7wpVEzzdHLWN
ちんちん大爆発!
33 : 2022/10/31(月) 17:33:15.903 ID:U7wpVEzzdHLWN
ごめん誤爆した
37 : 2022/10/31(月) 17:36:02.746 ID:mj43QpsA0HLWN
USBとかもインターフェース。いわゆる規格ってやつ
39 : 2022/10/31(月) 17:44:42.899 ID:DXggxbdB0HLWN
つーか言語何使ってるか言おうよ
作ってるのはwebバックエンド?
40 : 2022/10/31(月) 17:45:48.662 ID:siR3ILDl0HLWN
全然別の基底クラスを継承したクラス同士に、同じような処理を実装して同じように扱いたい時に便利。
43 : 2022/10/31(月) 17:52:35.933 ID:DXggxbdB0HLWN
vipってプログラマ多いよな
まあオタクの就職先としては王道だけど
44 : 2022/10/31(月) 17:53:18.399 ID:3tHXzb9J0HLWN
最後の部分訂正

そのメソッドを持ってることを保証する仕組みがインターフェース。
そのインターフェースを実装したクラスなら、外部の人の作ったものでもなんでも、「HPを減らすメソッド」は絶対持ってるので、「ダメージを与えるメソッド」はそれを実行できる

コメント

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