c言語的にjavaを教えて

2018/05/08(火) 22:54:32.36ID:CKiuQAUI
仕事でc言語をつめ込まれた直後にjavaやらされて混乱しとるんじゃが、オブジェクト指向とモジュール構造の差異を教えてほしい

いろいろ調べて自分なりの結論として

・オブジェクトとは、操作に対する「一連の手続き」である
e.g.
操作[電源ボタンを押す]→オブジェクト[PC]→起動[画面がつく]

・モジュールとは「機能or部品の最小単位」である( ≒ 関数)
e.g.
引数[電源ボタンを押す]→main[下位モジュール呼び出し]→(モジュールa[PC内の電源を起動]→モジュールb[プラグから電力を給電]→モジュールc... 以下略...モジュールz[ディスプレイに信号送信])→起動[画面がつく]

つまりモジュールは部品に過ぎないから複数個作って繋げて「一連の手続き」にする必要があるけど、オブジェクトは「一連の手続き」単位だからそれ単体で目的が達成ができる
オブジェクトの中身、処理部分でモジュールが使われていて、スーパークラスとサブクラスみたいな親と子の関係性

こういう認識で合ってる?
2018/06/20(水) 21:08:03.93ID:FK42nbh4
>>37
30レスくらい読めバカタレ
39デフォルトの名無しさん
垢版 |
2018/07/05(木) 01:59:31.57ID:RfoszcD2
W08
2018/08/22(水) 14:15:01.74ID:Opme7aq9
C++の本でも読めばすぐわかるけどな
2020/01/01(水) 15:25:32.54ID:mtZC/qIi
メソッドなんて要らん
関数使わせろ
42デフォルトの名無しさん
垢版 |
2020/06/22(月) 14:55:49.77ID:khT4bacP
Cのほうがjavaより簡単明朗。推奨されないメソッドの洪水は、見ていて気分が悪くなるし。
でもWebバックエンドならJava一択になるのかな。最初に覚えるなら絶対Cがおすすめ。
そのあとC++そしてjavaが最高の流れ。そこまでいけば、どんな言語もちゃらい・はずだが
・・
43デフォルトの名無しさん
垢版 |
2020/06/22(月) 17:02:20.03ID:5VJoOXgM
あんまり関係ないけど、うちシャンプー、メリット。
44デフォルトの名無しさん
垢版 |
2020/06/22(月) 18:49:08.79ID:6gQqm8wo
既に解決してる単発スレでなに言ってんの
ちゃんインシャンにきまってるわ
2020/06/23(火) 01:20:34.08ID:ie2ZK16d
リンスインシャンプーはハゲるぞ
46デフォルトの名無しさん
垢版 |
2020/06/23(火) 16:04:37.34ID:atXMAnwf
Javaやるとハゲると昔から言われていたな・・
47デフォルトの名無しさん
垢版 |
2021/07/04(日) 11:11:02.24ID:FCGWZtZb
終わってるスレだが、オブジェクト指向の「考え方」を
知らずに、巨大クラス作るとそれは「グローバル変数と
それを操る関数たち」っていう、最悪の状態になるんだよな。
48デフォルトの名無しさん
垢版 |
2021/07/04(日) 12:05:50.02ID:pili1Lz/
>>47
OpenGL用のC++ライブラリですね判ります
49Mb
垢版 |
2021/07/31(土) 17:10:51.16ID:HS2AjqTr
>>47
C だと変数領域を「共有」しているので、誰かがアドレスポインタを
間違えて使うと、酷い目に遭う。
Java だとローカルな変数をオブジェクトが「抱えて」いて、
それをメソッドを使ってどうこうしよう、という形になる。
ただ、それだとグローバル変数を経由しようとしたときに
ややこしい話になるので、シングルトン実装したオブジェクトに
問合せをするとかいったことになる。
ぶっちゃけ C が解ってるんなら Java は難しくない。
ただ。おれみたいな年寄りからすると、可変長のメモリ領域の
扱いが便利すぎて、「ボケるのが早くなりそうだ (-_-!)」という
不安がある。
2021/08/01(日) 00:26:28.25ID:jvrFygM5
>>47
所謂、神クラスのことかな。

一つのクラスに何でも詰め込みすぎて、実質、そのグラス内で定義されているメンバ変数がグローバル変数と化している状態って奴でしょ。
責務もハッキリしてないからテストもできない最悪の状態(再利用性・可読性が死んでる)になってることは容易に想像できる。
51Mb
垢版 |
2021/08/01(日) 01:10:48.84ID:poI7LMFp
>>50
それって、C のモジュール化の時点で失敗しているので、
このスレの主旨である Java (あるいは OO)とは
何の関係もないように思う。
いや、言いたいことはわかるんだけど、
その手のとばっちりを喰った経験が多々あって、
トラウマに引っかかるので ……
2022/12/23(金) 19:45:15.05ID:k2wkvDO7
全部JNIで書けばおk
2023/09/22(金) 14:01:04.27ID:js4fs0bK
人を信じよ、しかしその百倍も自らを信じよ
2023/10/13(金) 22:47:43.33ID:HEQod4fb
c言語の関数をclass内のmethodに置き換えるだけじゃね
?OOの基本はjava のチュートリアルだっけ原文に書いていた 気合いだ〜
55デフォルトの名無しさん
垢版 |
2023/10/19(木) 09:33:38.28ID:rcYEOPS6
C++的にJavaじゃなくて
C的にJavaってのがミソか
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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