プログラミングできるやつ来い!
■ このスレッドは過去ログ倉庫に格納されています
「お前と話してるとラチあかんから話通じるやつ連れてこい」 システムと他のシステムや人がやりとりする窓口をインターフェースというんだよ Goのinterfaceはなんかよくわからんあれ
型言語なのにいきなりダックタイピングみたいになった印象 >>6
それって例えばWebとかやろうとすると必須になるの? >>14
Webじゃなくても必要とするライブラリとかあるし
イテレータもインターフェイスだ 「インターフェース」とは複数のものをつなぐ技術や方法
「インターフェース」とは、複数の異なるもの同士を接続するといった意味を持つ言葉で、
ハードウェア間、ソフトウェア間、人間とコンピューターをつなぐ技術や方法を表すIT用語として主に用いられています 昔JavaGold取ったとき深く勉強したことあったけど、バージョンアップと共に次々色々な機能付いてきて???ってなったな
privatemethodやらdefaultmethodやら
あれ全部使いこなしてるやついるのかね >>19
むしろそれを使いこなさずにOOPをやってるとなるとだいぶゴミコード書いてそうだな インターフェース「dogクラスはwalkって関数あるから使って!実装はお前に見せる必要ねーよな」
使う側「dog.walk()と…ほんとだ中身わからんけど動いた」
なんかこんなやつ プログラムを小さなモジュールに分割して、それを組み合わせて大きなシステムを作る
モジュールどうしの境目をインターフェースにしておくと、同じインターフェースに対応する別のモジュールに入れ替えたりできて便利 ところで「チンポがシコシコする」という日本語表現は、学術的に正しいと言えるのか?
チンポ「を」シコシコするのではなくて、チンポ「が」シコシコする。この場合、「チンポ」は主語となる。
オブジェクト指向で言う「集約」は2種類あって、全体(俺)と部分(チンポ)が繋がっている場合と、
全体(俺)と部分(チンポ)が別々になっている場合とが考えられる。けれども「チンポ」はそれ自体
が独立した生き物であり、所有者の意思とは無関係に、自ら勃起して「シコシコする」。
例えば寝てる時にエロい夢みて朝起きてみたらチンコが勃起して射精してたとか。
違うか?
「胸がドキドキする」は良いが、「チンポがシコシコする」はダメな理由を、50字以内で述べろ! https://youtu.be/7DbdPKWhrpY
令和のコペルニクス さんによって固定されています
令和のコペルニクス
2 年前(編集済み)
六角アミダって有りそうで無かったので自作しました。xyz空間座標も「6方向」ということで。
ソースコードはこちら。
https://drive.google.com/file/d/1hsFT2F4AMgUv1JHqy0si_7Yj7q7TyHnR/view?usp=sharing
室町時代のアミダくじは円形であること、ベンゼン環の六角構造、赤青緑の三色ダイオードを考えてみた。
令和のコペルニクス
1 年前
地動説をとる人には、地動説をとるのを妨げない。天動説をとる人には、天動説をとるのを妨げない。学説上において人びとの所見を妨げず、かつ実生活においても、「令和のコペルニクス」は決して客観的に善悪正誤など認定しない。 >>16
なるほどライブラリによって必須なもんもあるのか
その辺はその流儀に乗っ取らんとだめなんだな プログラミングはやってるけどinterfaceはわからんけど来た まだやってんのかよ
ビデオの赤白黄色の線をイメージすればよくわかる
「ビデオを見る」ためには赤白黄色の穴が必要だろ?でもビデオの中身は関係ない。
「ビデオを見るために赤白黄色を用意しましょう」がインターフェース
実際の映像が実装内容 >>21
それの意味しか無いと思ってたから書いてなくて動かないってなったことあったわ
教科書には書いてあったから一応書いてみたら動いた
何が違うのかよくわからんかったわ >>29
うーんなんとなくわからん
他のメソッドはインターフェースなしでも動くんだがこのメソッドは動かなかったとかある >>30
書かないとコンパイル通らないからな
そのインターフェースを使う側のクラスは実装されてない関数だろうと使おうとするから
どうせエラーになる abstract関数まとめてるだけのやつがインターフェイスだろ USBとかもインターフェース。いわゆる規格ってやつ >>31
一旦そこから離れろ
インターフェースとはクラスやメソッドを抽象化するための技法であり、実装はその抽象化されたルールに従うことを義務付けられるだけだ
それだけを考えて読み解いてみろ つーか言語何使ってるか言おうよ
作ってるのはwebバックエンド? 全然別の基底クラスを継承したクラス同士に、同じような処理を実装して同じように扱いたい時に便利。 「敵にダメージを与えるメソッド」を作るとするじゃん
引数としては敵クラスのインスタンスがあればいい
敵クラスの中の「HPを減らすメソッド」を使う
でも「味方にダメージを与えれメソッド」も必要になったら?
味方クラスを引数にした別のメソッドを作る?
それだと大変なので敵と味方の親クラスとしてキャラクタークラスを作って、
キャラクタークラスに「HPを減らすメソッド」を作り「キャラクターにダメージを与えるメソッド」を作ればいい
これなら敵クラスが来ても、味方クラスが来てもいい
でもその辺の木箱も壊せるとしたら??
木箱はキャラクターか?
あるいはもっと特殊で共通点ゼロの何かにもダメージを与えたくなったら?
究極のところ、「ダメージを与えるメソッド」は引数のインスタンスがなんであれ、そいつに「HPを減らすメソッド」があることさえわかってればいい。
そのメソッドを持ってることを保証する仕組みがインターフェース。
そのインターフェースを実装したクラスなら、外部の人の作ったものでもなんでも、「ダメージを与えるメソッド」は絶対持ってるので、「ダメージを与えるメソッド」はそれを実行できる vipってプログラマ多いよな
まあオタクの就職先としては王道だけど 最後の部分訂正
そのメソッドを持ってることを保証する仕組みがインターフェース。
そのインターフェースを実装したクラスなら、外部の人の作ったものでもなんでも、「HPを減らすメソッド」は絶対持ってるので、「ダメージを与えるメソッド」はそれを実行できる >>22
この説明好き
>>42
無駄に長くてわかりづらい 別にわざわざ比較して否定しなくても
こっちが傷つくだけじゃん。。 まあシンプルな本質から導く演繹脳の人と具体例じゃないと理解できない帰納脳の人といるからね
良し悪しと言うよりは向き不向き、その人にあってる説明かどうかの問題だと思うよ
俺も長ったらしいのは嫌いだけど インタフェースは作成する側への制限だな
必須とするものを必ず実装することを制約する
車でたとえるとハンドルやブレーキやアクセルといった車として必須なものはインタフェースとして定義される
これはどの車でも必ず実装しないといけない
カーナビやテレビチューナー、ACCなんかは車によってついたりつかなかったりする
そういうやつはインタフェースではなく独自メソッドとして定義される インターフェイスを使いこなせるようになるまで
そこそこ時間かかったわ >>42
>それだと大変なので敵と味方の親クラスとしてキャラクタークラスを作って、
息子とムスコは、必ずしも親の命令通りには動かない!
立て、立つんだ!
立 つ ん だ 、 ジ ョ ー !
息子1
起立!
息子2
勃起!
息子3
立ちくらみ!
多態性まとめ
多態性・ポリモーフィズムとは、同じ命令を送ったにも関わらずそれぞれが独立した固有の処理を行うという特性を指す。
多態性・ポリモーフィズムは継承関係の子から親への代入を通じて実現することができる。
多態性・ポリモーフィズムのメリットとして、同一視して配列を利用できたり、同一視して引数を受け取ることができることが挙げられる。
https://engineer-life.dev/polymorphism/
https://mobile.twitter.com/yokillme/status/970300973301219328
ヨキ
@yokillme
自分の息子のことを愚息って言うの、現代においては息子を自分とは別人格の一人の人間として尊重してないからやめた方がスマートだと思うんだけど、不意に勃起した自分のチンコを「愚息」と表現するのめっちゃ好きなんですよね。
https://twitter.com/5chan_nel (5ch newer account)
https://twitter.com/5chan_nel (5ch newer account) 【高尿酸値・痛風予防の五ヶ条】
☆食べ過ぎに注意☆
肥満体は、プリン体を合成しやすく、尿酸の排泄機能が低下する傾向にあります。
☆お酒は飲みすぎない☆
アルコール自体に尿酸値を上げる作用があります。
☆水を2㍑以上飲む☆
尿で尿酸を排出するため、1日2㍑以上飲みましょう。(甘い飲み物は逆に尿酸値を上げてしまうので注意)
☆ストレス解消☆
ストレスは尿酸値を上昇させる危険因子です。あなたに合った方法でストレスを解消しましょう。
☆適度な運動☆
話しながらでもできるような軽い有酸素運動で肥満やストレスを解消しましょう。 ■ このスレッドは過去ログ倉庫に格納されています