X



初心者プログラマーワイ、オブジェクト指向が理解できず死亡
■ このスレッドは過去ログ倉庫に格納されています
0001風吹けば名無し
垢版 |
2023/05/14(日) 18:20:31.96ID:OKQGD0YC0
今じゃんけんのプログラム作ってるけど難しいンゴ・・・
0003風吹けば名無し
垢版 |
2023/05/14(日) 18:21:32.22ID:OKQGD0YC0
天才プログラマーおらんのか?
助けてクレメンス
0004風吹けば名無し
垢版 |
2023/05/14(日) 18:22:20.42ID:2bzGLo6a0
ワイ天才きたで
0005風吹けば名無し
垢版 |
2023/05/14(日) 18:22:20.76ID:Lg6I8T5p0
詰みやん
0006風吹けば名無し
垢版 |
2023/05/14(日) 18:22:56.70ID:YSbteNRpd
何がわからんの?
具体的に言えよ
0007風吹けば名無し
垢版 |
2023/05/14(日) 18:23:06.41ID:OKQGD0YC0
>>4
なんやねんこれ?
難しすぎるやろ!
0008風吹けば名無し
垢版 |
2023/05/14(日) 18:23:10.53ID:LwVJBYYf0
何でも聞いてくれ
0009風吹けば名無し
垢版 |
2023/05/14(日) 18:23:28.42ID:OKQGD0YC0
>>6
全部わからんで
オーバーロードとかライドとかクロージャとか何言ってるんや?
0010風吹けば名無し
垢版 |
2023/05/14(日) 18:23:33.31ID:mnr84Clr0
オブジェクト指向がわからないのか、プログラミング言語のクラスとかの機能がわからないかどっちなのかをしっかりした方が良い
オブジェクト指向わからんという場合大抵はクラスの使い方がわからないレベルのことが多い
0011風吹けば名無し
垢版 |
2023/05/14(日) 18:24:38.74ID:oMeTapKI0
>>9
マジレスすると今お前がやっているレベルのプログラミングならそのへんは理解しなくて良い
無駄だから一回捨てろ
0012風吹けば名無し
垢版 |
2023/05/14(日) 18:24:56.80ID:KcB+spdj0
手を動かせ
座学だけじゃそこは掴めん

適当にデータベースからデータ引っ張ったりするソフトウェアでも作ってみろ
0013風吹けば名無し
垢版 |
2023/05/14(日) 18:25:12.26ID:OKQGD0YC0
>>8
Mac使っとるんやがOSの機能ってどうやって呼び出すんや
Swiftじゃないと無理なん?
0014風吹けば名無し
垢版 |
2023/05/14(日) 18:25:14.63ID:ITopiYUt0
オブジェクト指向が理解出来ん奴はセンスないからやめたほうがいい
0015風吹けば名無し
垢版 |
2023/05/14(日) 18:25:54.63ID:YSbteNRpd
>>9
概念についてはコード書いてるうちに理解してくるもんだから先に手を動かした方がいいよ
0016風吹けば名無し
垢版 |
2023/05/14(日) 18:25:55.91ID:Ov9lacHX0
俺はクラスとオブジェクトとインスタンスの違いがわからん
0017風吹けば名無し
垢版 |
2023/05/14(日) 18:26:00.13ID:OKQGD0YC0
言ってる事自体は理解できるんやが使い道がよくわからんのや
ホンマにこれ使うんか?
0018風吹けば名無し
垢版 |
2023/05/14(日) 18:26:14.46ID:2bzGLo6a0
>>7
うるさいなおまえ
考えてやれ
以上
0019風吹けば名無し
垢版 |
2023/05/14(日) 18:27:54.95ID:KcB+spdj0
>>17
使うとかじゃない、そういうパラダイムがあるってだけや
アプリケーション開発に慣れてきてようやく「あ、これがコンポーネントね」って分かってくる
0020風吹けば名無し
垢版 |
2023/05/14(日) 18:28:22.97ID:YtW6OxJ00
chatGPTに聞く方がええで
0021風吹けば名無し
垢版 |
2023/05/14(日) 18:28:46.37ID:e78AqS4+0
何がわからないのかわからないレベルの場合どうすればええんや
0022風吹けば名無し
垢版 |
2023/05/14(日) 18:29:41.84ID:22bne3m30
いまMVVMでGUIアプリ用の雛形をPythonで書く宿題やってるんだが全然わからん
デザインパターン使えって言われたんだがそもそもObserverパターン理解できてない
ChatGPTさんに聞いてもチンプンカンプン・・・おわた
0023風吹けば名無し
垢版 |
2023/05/14(日) 18:29:51.70ID:OKQGD0YC0
ワイにわかりやすく説明できるほど頭ええやつおらんの?
くだらんマウント撮ってるやつは論外として
0024風吹けば名無し
垢版 |
2023/05/14(日) 18:32:29.98ID:YSbteNRpd
>>21
何から始めれば良いか分からないってこと?
適当にクローンでも作ったら?
0025風吹けば名無し
垢版 |
2023/05/14(日) 18:32:54.80ID:B/g6UnuL0
ワイも前本読んだけけど当然のようにオーバーライドとか出てきて泣いたわ
0027風吹けば名無し
垢版 |
2023/05/14(日) 18:34:03.25ID:2bzGLo6a0
マジレス
イッチはやっぱり英語できないタイプ?
0028風吹けば名無し
垢版 |
2023/05/14(日) 18:34:37.33ID:nnGOWrKP0
その言葉ホリエモンっぽい香具師がでてくるブラック企業の漫画で初めて覚えた
0029風吹けば名無し
垢版 |
2023/05/14(日) 18:34:40.46ID:LwVJBYYf0
>>13
macはあんましらんけど、cocoaフレームワークかAPIの単語で検索すればでてくるんやない?
0030風吹けば名無し
垢版 |
2023/05/14(日) 18:35:34.48ID:GgmKkrWJ0
クラスやオーバーロードの書き方は分かるけど使い方、使い道が分からんということか?
0031風吹けば名無し
垢版 |
2023/05/14(日) 18:36:26.23ID:OKQGD0YC0
>>29
COCOAってGUIのやつちゃうんか
0032風吹けば名無し
垢版 |
2023/05/14(日) 18:36:40.46ID:eajozHKvM
オブジェクト指向のメリットがわからんだけやろ?
0033風吹けば名無し
垢版 |
2023/05/14(日) 18:36:52.39ID:OKQGD0YC0
>>30
だいたいそんなかんじや
説明効いたその場ではわかるんやけど何に使うのかわからんし
使えなくてもそこまで困ってないから忘れるんや

これそんな重要なん?
0034風吹けば名無し
垢版 |
2023/05/14(日) 18:37:21.95ID:OKQGD0YC0
>>32
理解が難しい場合も有るけどほぼそれやな
でもGithubとかですごい人のコード見るとしっかりオブジェクト指向だしいるんか?
0035風吹けば名無し
垢版 |
2023/05/14(日) 18:38:18.72ID:UUHcyDOr0
場数をこなしていくと再利用性や可読性、つまり保守性について考えるようになるし
その時にOOPで纏められていると助かるって話や
イッチは場数が足らない
0036風吹けば名無し
垢版 |
2023/05/14(日) 18:39:17.80ID:iyk0ZY4J0
じゃんけんプログラムの場合
なにをオブジェクトとして定義するんや??
0037風吹けば名無し
垢版 |
2023/05/14(日) 18:39:41.09ID:i9W0Jz6A0
料理を考えてみいや
ネギをみじん切りにします、みじん切りはこう切ります
ニンジンをみじん切りにします、みじん切りはこう切ります
たまねぎを・・・
っていちいち全部書くの面倒やん
だから
「カット」って汎用クラスを作っておいてそこにみじん切り関数を実装しておけば
それ呼び出すだけでええから楽できるやろ?
もっと言うとこの「カット」って汎用クラスはDIYプログラムにも流用できるな
すごく楽できるやろ?
0038風吹けば名無し
垢版 |
2023/05/14(日) 18:40:18.95ID:a3Jah221a
>>22
Observer自体は、対象の状態を監視、通知するモデルというだけで、そんなに複雑じゃない。
デザインパターンもよく使うやつを定型化して、使いやすくしてるだけやから、サンプル動かして変数の動きとかを追えばだんだんわかるようになると思う
0039風吹けば名無し
垢版 |
2023/05/14(日) 18:40:24.31ID:3mEAVFb+0
しょうがないな
0040風吹けば名無し
垢版 |
2023/05/14(日) 18:40:24.36ID:OKQGD0YC0
>>35
Pythonとかで3000行程度のプログラム組んだりしたんやけど
それでもオブジェクト指向なしでつくれたんや
でも可読性低いんかこれやっぱ?
0041風吹けば名無し
垢版 |
2023/05/14(日) 18:40:39.01ID:YSbteNRpd
>>36
プレイヤーと手
0042風吹けば名無し
垢版 |
2023/05/14(日) 18:40:45.86ID:3mEAVFb+0
じゃんけんにオブジェクト指向なんて必要ないやろ
0043風吹けば名無し
垢版 |
2023/05/14(日) 18:41:01.78ID:eajozHKvM
>>34
いる
ワイも最初はオブジェクト指向のメリットわからんかったけど、Webアプリのフレームワークの機能使い出したら理解できたわ
イッチもそのうち理解できると思うで
0044風吹けば名無し
垢版 |
2023/05/14(日) 18:41:59.70ID:hMwCC/jvr
>>40
GPT-4にリファクタリングさせてみ
えらいことになると思う
0045風吹けば名無し
垢版 |
2023/05/14(日) 18:42:02.70ID:qq9IKnzG0
じゃんけんのプログラムでオブジェクト思考とか使わなくていいと思うけど
ワイが思いついたのはランダムで1〜99の数字が出るようにしてもし1〜33だったらパー、34〜67だったらグー、68〜99だったらチョキみたいに確率をやったらええんやないの?
0046風吹けば名無し
垢版 |
2023/05/14(日) 18:42:14.61ID:DR5XT/F4a
オブシコもできんのに初心者名乗るなや
この業界に来ること自体間違いやで
0047風吹けば名無し
垢版 |
2023/05/14(日) 18:42:19.23ID:GgmKkrWJ0
じゃんけんじゃなくてルーイダの酒場みたいなシステム作ろうとしたら理解しやすいかもしれんで
0048風吹けば名無し
垢版 |
2023/05/14(日) 18:42:35.32ID:SBg36HZs0
if文だけで完結するやん
0049風吹けば名無し
垢版 |
2023/05/14(日) 18:42:45.02ID:V6cLzr/q0
いうてOOPも別に万能じゃないし
肥大化すると誰も触れないクラスとかが出来て死ぬみたいのは同じだから
動くものが作れるところまでいけてるなら別に絶望せんでいいと思うで
0050風吹けば名無し
垢版 |
2023/05/14(日) 18:42:49.66ID:hMwCC/jvr
自分の経験から言うと使い続けて突然「こういうことか」って理解できるようになる
0051風吹けば名無し
垢版 |
2023/05/14(日) 18:43:44.32ID:a3Jah221a
>>40
誰かが作ったmoduleは必ずimportしているやろし、その時点でclassとかに纏められてるもんを使ってる。
まとめ方の定番の方法とかを見ていけば何故そうなってるか理解できるようになると思う。
理屈の理解と場数両方必要と思う
0052◆65537PNPSA
垢版 |
2023/05/14(日) 18:43:52.76ID:jcv8JczTr
VBの部品がクラスだと思えば理解しやすいで
0053風吹けば名無し
垢版 |
2023/05/14(日) 18:44:55.69ID:eajozHKvM
大学でオブジェクト指向教えるときに車クラスのようなクソクラス作らせんのがいけんのや
車クラスを継承してトラッククラス、タクシークラス作りましょうとかアホかと
0054風吹けば名無し
垢版 |
2023/05/14(日) 18:45:31.07ID:hMwCC/jvr
数年後3000行のコード見てうわぁあああああってなって欲しい
0055風吹けば名無し
垢版 |
2023/05/14(日) 18:45:45.21ID:/YywlSRR0
実際綺麗なサンプルコード一個見とくと理解しやすい
0056風吹けば名無し
垢版 |
2023/05/14(日) 18:46:32.42ID:zJQ8hMyH0
分かりやすいのはドラクエみたいなコマンド戦闘じゃない?
キャラにhpとか攻撃力みたいなステータスをもたせてアクションさせるやつ
0057風吹けば名無し
垢版 |
2023/05/14(日) 18:46:52.63ID:a3Jah221a
>>54
これ分かるわ
昔の自分のコードとか…
0058風吹けば名無し
垢版 |
2023/05/14(日) 18:47:31.44ID:8LzJmC430
オブジェクト指向入門



プログラミング未経験の底辺高卒でもわかりやすいようにオブジェクト指向について教えてください

ChatGPT

もちろんです!オブジェクト指向プログラミング(Object-Oriented Programming、OOP)は、プログラミングの基本的な概念の一つです。初めて学ぶ方にとっては少し難しいかもしれませんが、わかりやすく説明しますので、一緒に学んでいきましょう。

オブジェクト指向プログラミングでは、プログラムを「オブジェクト」という小さな部品に分割し、それらのオブジェクトが相互作用することでプログラム全体を構築します。オブジェクトは実世界の物や概念を表現するもので、それぞれがデータ(属性)と振る舞い(メソッド)を持ちます。

例を挙げて説明します。考えてみてください、自動車というオブジェクトを作りたいとします。自動車にはいくつかの属性(データ)があります。例えば、色や速度、メーカーなどです。また、自動車は振る舞い(メソッド)を持ちます。例えば、加速する、ブレーキをかける、ライトを点けるなどです。

この場合、自動車というオブジェクトはクラスと呼ばれる設計図に基づいて作られます。クラスはオブジェクトの属性と振る舞いを定義します。自動車クラスでは、色や速度などの属性と、加速する、ブレーキをかけるなどのメソッドが定義されます。

実際にプログラムを書いてみましょう。以下は、Pythonのコード例です。

pythonCopy code

class Car: def __init__(self, color, speed, manufacturer): self.color = color self.speed = speed self.manufacturer = manufacturer def accelerate(self): self.speed += 10 def brake(self): self.speed -= 10 def turn_on_lights(self): # ライトを点ける処理 # Carクラスからオブジェクトを作成して使用する例 my_car = Car("Red", 0, "Toyota") print(my_car.color) # 出力: Red my_car.accelerate() print(my_car.speed) # 出力: 10

上記の例では、Carクラスが定義されています。__init__という特別なメソッドは、オブジェクトが作成されるときに呼び出され、オブジェクトの初期化を行います。
0059風吹けば名無し
垢版 |
2023/05/14(日) 18:48:26.49ID:eajozHKvM
>>58
テメーも車クラスか!😡
0060風吹けば名無し
垢版 |
2023/05/14(日) 18:49:10.91ID:8LzJmC430
それ以外のメソッドは、オブジェクトが持つ振る舞いを表現しています。accelerate()メソッドは自動車の速度を増加させ、brake()メソッドは速度を減少させます。また、turn_on_lights()メソッドはライトを点ける処理を行う想定です。最後の行では、Carクラスからmy_carというオブジェクトを作成し、属性やメソッドを使用しています。my_car.colorはオブジェクトの色を取得し、my_car.accelerate()はオブジェクトの速度を増加させます。このように、オブジェクト指向プログラミングでは、クラスという設計図を元にオブジェクトを作成し、それぞれのオブジェクトがデータと振る舞いを持つことでプログラムを構築します。このアプローチにより、プログラムの設計や保守が容易になり、再利用性や拡張性が高まるという利点があります。
オブジェクト指向プログラミングは多くの言語でサポートされており、PythonやJava、C++などで広く使用されています。初めて学ぶ方にとっては最初は少し難しいかもしれませんが、実際にコードを書きながら練習してみてください。徐々に概念が理解されるはずです。
0061風吹けば名無し
垢版 |
2023/05/14(日) 18:50:10.20ID:KcB+spdj0
こう言う上っ面の知識だけ得ようとして実際になんもできひん口だけのカスプログラマーがガチで害悪やわ
ベトナム人の方がよっぽど要領ええわ
0062風吹けば名無し
垢版 |
2023/05/14(日) 18:50:57.46ID:A8KUKa/m0
オブジェクト指向なんて一人でやってるなら分かる必要はないよ
複数でやってるなら分かるやつに合わせればいい
なんでも自分で分からないとダメって思うんじゃなく手動かせよ
0063風吹けば名無し
垢版 |
2023/05/14(日) 18:52:01.66ID:a3Jah221a
ほんとに初心者のときは、クラスを使うべき場面とかそもそものとこが分からんよね
その状態で車クラスとか言われても、ほーんくらいしか感想出んわな
0064風吹けば名無し
垢版 |
2023/05/14(日) 18:52:44.02ID:rQDwjjW6M
チャットgpt4にプログラム書いてっていうだけの簡単なお仕事やろが
0065風吹けば名無し
垢版 |
2023/05/14(日) 18:54:11.59ID:Nl5yHYva0
Javaさっぱりわからんかったからネットワーク行ったわ🥺
0066風吹けば名無し
垢版 |
2023/05/14(日) 18:55:40.78ID:e5Jmw61R0
しゃーない諦めてHaskellやれ
0067風吹けば名無し
垢版 |
2023/05/14(日) 18:57:12.70ID:4Peth7Ig0
オブジェクト指向って青春みたいなものやで
たくさん実務積んである時あれがオブジェクト指向だったんだと気づくんや
0068風吹けば名無し
垢版 |
2023/05/14(日) 18:57:14.14ID:ZsxYjGtcM
指が三本だったり六本だったりしたらええやん
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況