15/05/23 00:43:33.23 hLN65xNQ.net
オブジェクト指向が段々わからん様になってきた
適当なスレがないのでここで
ポリモーフィズムはオブジェクト指向に関係ないよな?
クラスが使えることも、オブジェクト指向とは関係ないよな?
カプシャリングにクラスを使っているだけで、必ずしもクラスである必要は無いだろ?
継承なんか、全くオブジェクト指向に貢献しないよな?
452:デフォルトの名無しさん
15/05/23 00:58:39.28 491vWhnh.net
>>437
しったかだけどオブジェクト指向はプログラマーの意志�
453:搓№窿~スを減らすための手段である。 絶対必要ではなく、道しるべ的な役割だと思えばいいよ。
454:デフォルトの名無しさん
15/05/23 01:34:30.93 f9PwTt1T.net
>>437
イカとマグロとイルカは魚クラスを継承する。
これをポリモーフィズムと呼ぶ。
455:デフォルトの名無しさん
15/05/23 01:35:41.40 hLN65xNQ.net
レスあんがと
んだども、共同作業している中のたった1人が退化して構造化プログラミングをしたり、
関数プログラミング最強理論をふりまいたりしてオブジェクト指向を台無しにしちゃうんだよね
コードの再利用性をオブジェクト指向だと勘違いしたり
#少ないコードでコーディングできてる俺はオブジェクト指向マスターでかこいい、と勘違いしたり
動物クラスを継承して人間クラスができるのがオブジェクト指向だと言い切ったり
#まさにオブジェクト指向、例えが秀逸すぐるwww と勘違いして後進に嘘撒き散らす公害野郎とか
まともに話せないバカばっかやん
456:デフォルトの名無しさん
15/05/23 01:36:58.67 hLN65xNQ.net
>>439
ネタとしてはおもろいw
457:デフォルトの名無しさん
15/05/23 01:40:40.83 hLN65xNQ.net
>>439
ごめん、
つか、本質を突かれてた
気が付かなかった
すまん
そ、
そういうことだよ
現場ではイカもイルカもSuper魚クラスを継承してドヤ顔してるヤツバッカだよね
458:デフォルトの名無しさん
15/05/23 01:41:01.76 /6KWVFCT.net
>>440
そういうのはちゃんと決めてからやらない?
決まっているのとは違うことをやろうとするのはもうプログラミングじゃなくて社会人としてどうなのよって感じなんだけど
459:デフォルトの名無しさん
15/05/23 01:44:36.35 f9PwTt1T.net
>>442
人間も魚としよう
460:デフォルトの名無しさん
15/05/23 01:57:11.86 hLN65xNQ.net
>>444
人間も受精後4週目は魚だもんな
継承を重ねて人間になるんだから、魚型と言って良いよね
461:デフォルトの名無しさん
15/05/23 01:57:40.11 DgqGrygc.net
>>443
現場によっては再利用性より即効性を採用したりするからね。
小規模で作ってる開発現場では一筆書きの方がむしろ難しく考えなくて済むから
採用したりすることもある。
何事も中途半端はダメ。
462:デフォルトの名無しさん
15/05/23 02:00:02.71 hLN65xNQ.net
>>443
1人だけ、おびただしい数の public static メソッドを作ってた現場を知らないから、そう言えるんだ、多分
463:デフォルトの名無しさん
15/05/23 02:06:41.24 YZhJ2mgE.net
>>446
つか、
再利用性とオブジェクト指向は全く次元が違うよね
464:デフォルトの名無しさん
15/05/23 02:09:47.57 DgqGrygc.net
>>448
似たようなコードを書くとき、抽象クラスとか作るじゃん。
上の話でも魚クラス作った後はそれに似て異なる部分だけ創ればいいから
祖に時点でオブジェクト指向も再利用性に役立っているといえるのでは?
465:デフォルトの名無しさん
15/05/23 02:12:04.79 YZhJ2mgE.net
>>449
多分、君みたいな脳タリンが蔓延してるから、
オブジェクト指向が勘違いされるんちゃう?
といってみるテスト
466:デフォルトの名無しさん
15/05/23 02:16:02.69 YZhJ2mgE.net
書いた後に気付いた。多分大多数が理解してないと思うので補足するけど
「魚クラスを作った」
いやほおおお、オブジェクト指向プログラミングだぜ
と言っている時点で間違ってないかい?とね
467:デフォルトの名無しさん
15/05/23 02:23:24.78 PUFYKrd9.net
否定と中傷だけなら幼稚園児でもできるんだよ
お前は明確に無能、おそらくは現場でも嫌われていることだろう
468:デフォルトの名無しさん
15/05/23 02:25:54.61 YZhJ2mgE.net
>>452
もっと言うと、
根拠の1つも示さずに誹謗するのは誰だってできる
反論以前に、オブジェクト指向を理解できていないってことが分かっただけで
君にとって収穫じゃないのかな?
469:デフォルトの名無しさん
15/05/23 02:32:47.98 PUFYKrd9.net
誰と勘違いしてるか知らんけど俺は今始めてレスしたん
470:で 以下の文章はその妄想癖を発揮しないように気をつけて読んでね >>448 >再利用性とオブジェクト指向は全く次元が違うよね どう違うのかについて説明がない >>450 罵倒しかしてない、論外 >>451 >と言っている時点で間違ってないかい?とね どう間違っているのかについて説明がない 基本的にお前のレスは否定と中傷だけであって、 これで他者に何かが伝わるとしたら不快感だけ ゆえに人から嫌われる 自分の主張については肯定否定問わずその根拠を説明するといった、 他の人が当たり前にできることがお前にはできない ゆえに無能
471:デフォルトの名無しさん
15/05/23 02:37:47.48 YZhJ2mgE.net
>>454
>誰と勘違いしてるか知らんけど
全然勘違いなぞしてないけど???
なぜそう思ったのかは全くわからんけどなぁ
>どう違うのかについて説明がない
説明が必要なのか?
全く別ものだろ。それを同一視する勘違い野郎がいるから迷惑してんだ
>罵倒しかしてない、論外
事実を言ったまで
472:デフォルトの名無しさん
15/05/23 02:40:38.34 PUFYKrd9.net
>>455
>全く別ものだろ。それを同一視する勘違い野郎がいるから迷惑してんだ
いいや同一のものだよ
え?何故同一か説明してほしいって?
その説明は必要なのか?
こっちはお前みたいな勘違い野郎がいるから迷惑してんだ
473:デフォルトの名無しさん
15/05/23 02:44:26.84 /6KWVFCT.net
オブジェクト指向には保守性(カプセル化とか)再利用性(継承とか)柔軟性(多態性・ポリモーフィズとかム)の3つの考え方があるんだけど
再利用性と柔軟性はあまり重要じゃないよ
保守性だけが重要
カプセル化こそがオブジェクト指向の最も重要な考え方といっていい
他の2つは捨てて良い場合もあるわ
474:デフォルトの名無しさん
15/05/23 02:46:29.37 YZhJ2mgE.net
>>454
>基本的にお前のレスは否定と中傷だけであって、
せっかくストレートに君の間違いを指摘してあげたのに、
気づかずにいるのかな?
それは勿体無いと思うよ
「否定と中傷」だけに見えるのは俺の指摘が理解できないからだと気付けないのかな?
>これで他者に何かが伝わるとしたら
すまん、
君には1mmも伝わっていないのだから、その前提は間違ってるよ
>自分の主張については肯定否定問わずその根拠を説明するといった、
今ここでセミナーでも開く必要があるのかな?
それでも別に良いけど、君が恥核だけだと思うけど
コードの再利用性とオブジェクト指向は関係ないよね?
コードの再利用性なんてのは、「関数」で実現すればよいだけの話
OOPだとしてもメソッドがあれば、OOPだろうが、そうでなかろうが、メソッドが
つかえれば実現できる
あ?
なんかいいたい事でもあるん?
475:デフォルトの名無しさん
15/05/23 02:47:32.73 YZhJ2mgE.net
>>457
そう思う
同意
476:デフォルトの名無しさん
15/05/23 02:54:51.41 PUFYKrd9.net
>>458
>「否定と中傷」だけに見えるのは俺の指摘が理解できないからだと気付けないのかな?
今度はどの部分でその指摘とやらを行ったのか説明がない
>君には1mmも伝わっていないのだから、
俺ではなく他者の話なのに、都合の良いように置き換えて読むことは良くない
やはりお前は妄想癖がある
>今ここでセミナーでも開く必要があるのかな?
>それでも別に良いけど、君が恥核だけだと思うけど
何がどう恥なのか説明がない
お前は根拠を説明できていない
>コードの再利用性とオブジェクト指向は関係ないよね?
>コードの再利用性なんてのは、「関数」で実現すればよいだけの話
>OOPだとしてもメソッドがあれば、OOPだろうが、そうでなかろうが、メソッドが
>つかえれば実現できる
+>>459
>>457は再利用性もオブジェクト指向の考え方だと言っているのに、
>>448でのお前は「再利用性とオブジェクト指向は全く次元が違うよね」と言っている
お前は、無能であり嫌われ者であり、自分が言ったことを覚えていない痴呆症である
477:デフォルトの名無しさん
15/05/23 02:55:03.65 YZhJ2mgE.net
>>456
多分、君は偉いセンセーに
「はい、クラスを作って〜 はい、動物クラスの中にキリンさんがね」
とか言われて育ってるからそう思うんだと思うよ
クラス作りゃOOPだと思ってるバカがいるのは事実
でもOOPはクラスが「どう動くのか」を「制御」出来ることが重要であって
作っただけじゃ正しいとか正しくないとか全く言えない
クラス作ることがOOPだと思っているなら、
反省し、
この業界から去ってくれ
478:デフォルトの名無しさん
15/05/23 02:58:51.86 DgqGrygc.net
なんでJavaの話すると結論付けした瞬間にけんかになるんだろうなw
たぶん、メリットもありデメリットもありでその両方を経験して無い人が多いんだろうな
479:デフォルトの名無しさん
15/05/23 03:01:43.87 PUFYKrd9.net
>>461
やっとこさ意見らしくなってきたじゃないか、俺の指導も役に立つだろう?
>>461と、それ以前のお前のレスを見比べれば違いは歴然だ
>でもOOPはクラスが「どう動くのか」を「制御」出来ることが重要であって
>作っただけじゃ正しいとか正しくないとか全く言えない
特にこの部分が良い
480:デフォルトの名無しさん
15/05/23 03:02:18.80 DgqGrygc.net
あ、少し補足。
俺の言ってる再利用って言うのは、使うときじゃなく、作る時の話ね。
481:デフォルトの名無しさん
15/05/23 03:05:12.97 YZhJ2mgE.net
>>>457は再利用性もオブジェクト指向の考え方だと言っているのに、
>>>448でのお前は「再利用性とオブジェクト指向は全く次元が違うよね」と言っている
>お前は、無能であり嫌われ者であり、自分が言ったことを覚えていない痴呆症である
君は何もわかっていない
再利用性とオブジェクト指向は次元が違う
ベクトルがクロスすることもあれば、とおのくこともある
クラスとか再利用性に目を奪われてそれがオブジェクト指向だと勘違いしてるヤツが大杉、
という主張が理解できんのか?
カプシャリングが最も大事だと指摘した時点で、
正しい方向を向いていることが直ぐ分る
おまえには、それが感じられなかっただけの話
482:デフォルトの名無しさん
15/05/23 03:06:45.26 PUFYKrd9.net
>>465
それには特に言うことはない
483:デフォルトの名無しさん
15/05/23 03:08:07.80 YZhJ2mgE.net
>>463
つまり、最初から読み取れなかった君の無能を自慢したい、と
484:デフォルトの名無しさん
15/05/23 03:11:28.29 DgqGrygc.net
よく喋るね。2人とも、文系かな?
485:デフォルトの名無しさん
15/05/23 03:14:07.44 PUFYKrd9.net
>>467
お前は勘違いしてる奴に文句があるようなのに、
中傷と否定だけしてその人間に説明をしようとしない→例:>>450,>>451,>>453
「俺はわかってるぜ」とアピールすることは、説明ではない
俺から暴言を吐かれてやっと説明を始めたのでは意味がなく、
勘違いした人間と相対したときに矯正することができない
486:デフォルトの名無しさん
15/05/23 03:14:52.80 /6KWVFCT.net
多分ID:YZhJ2mgEは間違った継承を見すぎたんじゃね?
極端な間違った継承だけど
人間クラスには名前性別年齢があって食べることとかねることが出来る
犬クラスも人間クラスと同じようなフィールドメソッド持ってる
じゃあ
クラス犬エクステンズ人間もできるよね?だって同じようなフィールドやメソッドもってるから
人間クラスが持ってる名前とか性別とか食べるとかを再利用すれば、ありとあらゆる動物のスーパークラスになれるじゃん
みたいな
は?人間クラスには喋るメソッドがあるんだけど、犬は喋れないよね?
いやいや、確かに喋るメソッドも一緒に継承されてきたけど、別に使わなければいいだけじゃん?
みたいな
こんなことが出来る継承なんていらねえみたいな?
487:デフォルトの名無しさん
15/05/23 03:18:58.32 PUFYKrd9.net
>>470
インターフェースや抽象クラスにすべきだな
488:デフォルトの名無しさん
15/05/23 03:26:15.70 YZhJ2mgE.net
>>468
アフォってよく言われるけどwww
>>469
をいw
オブジェクト指向をきちんと理解できなかったことは分かっただろ?
>アピールすること
といっている時点でな〜んも分かっていなかったことがバレてるんだけどwww
>>470
多分、継承=オブジェクト指向の一部
と勘違いしているように見受けられるが...
継承は、「一応オブジェクト指向プログラミングとして採用しているjavaが利用できるコード再利用手法」
であって継承がオブジェクト指向を実現している要素では無いということを理解しているかどうか、だな
489:デフォルトの名無しさん
15/05/23 03:27:14.71 YZhJ2mgE.net
>>471
同意
490:デフォルトの名無しさん
15/05/23 03:29:46.27 PUFYKrd9.net
>>472
おい、また悪くなってきたぞ
>>アピールすること
>といっている時点でな〜んも分かっていなかったことがバレてるんだけどwww
なぜアピールする云々が、わかっていないことになるのか説明がない!
いくら無能でもさすがにわかったと思うからもう寝るぞ?
491:デフォルトの名無しさん
15/05/23 03:31:21.31 YZhJ2mgE.net
>>474
そりゃ、君を教える家庭教師じゃないからじゃね?
勘違いが修正できたのなら、君にもメリットがあったんじゃね?
俺はなんも修正する必要がないのが、悲しいが、
反論が何もないものでね
492:デフォルトの名無しさん
15/05/23 03:33:21.82 DgqGrygc.net
つまり、言葉遊びがしたかった
ってこと?
493:デフォルトの名無しさん
15/05/23 03:35:09.77 YZhJ2mgE.net
>>476
なわけないでしょ
実際、クラス=オブジェクト指向
なボンクラも湧いて出てきたわけだし、
そこが問題だと
494:デフォルトの名無しさん
15/05/23 03:38:23.71 YZhJ2mgE.net
つか、OOPって
クラス設計した後が重要だよねぇ
その設計割りが正しいのか、とか
メンバーが合理的なのか、とか
アクセス修飾子が問題ないのか、とか
データフローの向きが違うとか
そんなん全部ふっとばしてOOPしてますって主張するバカが多いのは事実
495:デフォルトの名無しさん
15/05/23 03:38:29.09 PUFYKrd9.net
>>475
いや、俺を修正するのではなくて
お前の言動では勘違いした奴を矯正できないと言ってるんだがなあ
意見を言うときは、家庭教師のように説明できなければならないものだ
俺は家庭教師じゃないんだという態度を取って、俺だけはわかってるとアピールしてみても(>>451)、
業界は変わらないんだよ
496:デフォルトの名無しさん
15/05/23 03:40:59.02 /6KWVFCT.net
とりあえずクラスいっぱい作ったぜ!
とりあえず継承しまくったぜ!
て言うのが嫌なんでしょ
オブジェクト指向って開発効率を高めるためにあるのに自分でもプログラム全体を把握できなくなってる人っているからな
497:デフォルトの名無しさん
15/05/23 03:41:14.86 IAyyqr6P.net
>>479
お前は勘違いしすぎてるから、参加しなくても良いよ
498:デフォルトの名無しさん
15/05/23 03:43:21.05 IAyyqr6P.net
>>480
べつに、嫌とまではイワンけど
>オブジェクト指向って開発効率を高めるためにあるのに
多分、それ、間違ってるよ
499:デフォルトの名無しさん
15/05/23 03:48:06.68 DgqGrygc.net
なんかOOPの話なのかJavaの話なのかわからなくなってきたぞ
500:デフォルトの名無しさん
15/05/23 03:50:26.20 IAyyqr6P.net
>>483
OOPを採用しているjavaの話だけど...
501:デフォルトの名無しさん
15/05/23 04:01:00.07 IAyyqr6P.net
つか、理解できない奴多いんだな...
継承ってのは、「OOPを採用してるjava」の開発効率を高める技法なだけで
OOPを構成する要素でも、OOPに必要な機能でもないんだけどなぁ
にも拘わらず、継承がオブジェクト指向を説明するタイミングで紹介され
それを真に受ける低能が増産され
重要でもなんでもない継承がOOPのフラグシップとなり
動物-キリンさんな例が蔓延し、
挙句の果ては、クラスを作ればOOP
javaユーザが率先して矯正してゆかんといかんでしょ...
502:デフォルトの名無しさん
15/05/23 04:14:51.23 /6KWVFCT.net
>>485
いや、継承はオブジェクト指向プログラミングの要素でしょ
どんなJavaの本でもカプセル化と継承と多態性がオブジェクト指向プログラミングの3大要素ってでてくるけどな
503:デフォルトの名無しさん
15/05/23 05:49:22.61 wCdzmxCi.net
で、ここでアランケイの話と java の OOP の違いを説明してまた元に戻る、と
放っといてやりなよ、二人は楽しんでるんだ
504:デフォルトの名無しさん
15/05/23 10:48:14.26 fDV5mshW.net
Javaユーザーにとっては、オブジェクト指向の起源はJavaなので、Javaを使える自分が
一番優秀ということになる。
これを否定されたら火病が来る。
従ってJavaスレではJavaユーザーの気持ちを尊重して書き込むべきではないか。
他のスレでは思う存分真実を書き綴ってよいと思う。
505:デフォルトの名無しさん
15/05/23 11:24:34.78 16AeZd3V.net
OOPはただの手法なんだから、それ単品で話しても意味ないでしょ
動物クラスの例が蔓延?ネット上ではそうかもしれないけど、それを鵜呑みにしてるのは学生や独学の初学者だけで、社会人ではいないでしょ。あってもOJT中の新卒まででしょ
動物の継承を嘆く人は社会人なのか?といつも疑問に思う
506:デフォルトの名無しさん
15/05/23 13:34:40.08 wH/SS57B.net
Javaだってプログラム言語
507:デフォルトの名無しさん
15/05/23 14:35:18.51 IAyyqr6P.net
>>489
いや、普通にjavaの中で手続き型書きまくる例はいくらでもあるだろ
んで、普通に「おい、プログラムが書けんからそのメンバーstaticにしろ」
みたいな...
508:デフォルトの名無しさん
15/05/23 15:30:38.87 UTvWTzZi.net
標準APIのsrc.zip(or src.jar)がない。
javafx-src.zipならあるけど。
509:デフォルトの名無しさん
15/05/23 16:12:16.25 16AeZd3V.net
510:>>491 手続き型風に書くことに何か問題がある?
511:デフォルトの名無しさん
15/05/23 16:59:55.91 sJw17SmW.net
>>493
ない。
ただJava自体がオブジェクト指向プログラミング言語なので、なぜそうしたのかはっきりしておかないと、後で批判される。
512:デフォルトの名無しさん
15/05/23 17:01:18.37 UTvWTzZi.net
改行コードのrnはrn?それともr+n?
513:デフォルトの名無しさん
15/05/23 17:16:35.64 PrVJ6ieD.net
>>493
class宣言とか不要なものを形式的に書かなくてはならず、使いにくくないか?
rubyとかpythonみたいに、どっちでも書ける言語の方が良くないか?
514:デフォルトの名無しさん
15/05/23 17:26:06.54 PrVJ6ieD.net
>>495
CRとLFのこと?
charで13と10。
何を改行と見做すかは表示する側のアプリケーションによる。
場合によっては<br/>だったりするし。
515:デフォルトの名無しさん
15/05/23 18:10:37.97 IAyyqr6P.net
>>496
みんな普通にOOPで書いているのに、手続き型が散りばめられていて、
書いた本人が悪いと思ってないからやっかい
継承とか使ってるからOOPだと思いこんでる
516:デフォルトの名無しさん
15/05/23 18:22:24.19 fDV5mshW.net
Java使いにとって世界一のプログラマは自分なので、常に自分の考えが正しい。
ただし、すべてのJavaプログラマがそういう考えなので、Java使いの数だけ
世界一がいることになる。
そこを抑えたうえで掲示板に書き込むべきではなかろうか。
517:デフォルトの名無しさん
15/05/23 18:48:43.09 IAyyqr6P.net
うん、
だから世界一なら理解できるだろ、と
もう、継承なんかオブジェクト指向じゃないんだから、とね
518:デフォルトの名無しさん
15/05/23 19:12:59.31 DgqGrygc.net
staticメソッドは一度書くと真似るやつ出てくるからな。
519:デフォルトの名無しさん
15/05/23 20:08:11.17 EVHHuS7e.net
>>498
おまえんところは設計というものがないんか?
520:デフォルトの名無しさん
15/05/23 21:33:24.31 16AeZd3V.net
>>498
oopで書いてるなか手続き型で書かれて何が問題なの?
oopで書くことが目的になってね?
521:デフォルトの名無しさん
15/05/23 21:46:16.08 SgbjeX2J.net
そもそもOOPを手続型と相反するものだと思ってる時点で
OOPを理解してないのが丸分かり
理解した上でOOPを使わないのは自由だけどね
522:デフォルトの名無しさん
15/05/23 21:58:04.41 UeUgU9WA.net
バカはレスしないでくれる?
個人の主張として批判せず、いたずらにある類として扱うのは極めて恣意的かおバカの批判にあらざる攻撃の特徴。
まあ、その軽蔑すべき発想で返した俺も反省はしてもよいが
はっきり言って精神病とバカの特徴でしかない論法でレスするなよ。
俺はバカと精神病きらいだからな。
おまえら、マジで精神病と思われる宣言的絶対主義の形而上学バカの一味は人類の公的な敵だとおもっているからな。
さしあたりお前らが馬鹿にされていることは科学的認識の健全性をそれなりに示すから喜ばしいがな。
それにしても、単なる知識を披露しあっているだけの時は頭良さそうなふりはできるが、
いよいよ自身の認識を問われる事態になるとここにいる連中、そこの浅さを露呈するやつ多すぎ
所詮、2chだな
精神病君かい?
523:デフォルトの名無しさん
15/05/23 22:00:05.05 KfweUSpR.net
oops
524:デフォルトの名無しさん
15/05/23 22:51:00.19 f7m2RNUj.net
>>504
おもっきし競合するだろ。コードを構造化するための尺度なのに、出鱈目に混ざってたら意味ないって。orientされてないって。
525:デフォルトの名無しさん
15/05/23 23:01:30.27 wCdzmxCi.net
俺はクソ長い static 変数名とか定義することを JAVAJAVAしていると呼ぶが
お前らはどうだ
526:デフォルトの名無しさん
15/05/23 23:07:23.90 SgbjeX2J.net
>>507
モジュール化の単位が違うだけだよ
宣言的か手続的かという大きな�
527:№閧ナ見れば両方後者であることに違いはない
528:デフォルトの名無しさん
15/05/24 00:59:42.61 nM7n17pJ.net
こいつダメだ
529:デフォルトの名無しさん
15/05/24 01:07:44.85 TpK11WQw.net
実際問題、
会社には、>>509みたいなやつが紛れ込んでるし、
>>504のように信じきってるから弊害がどのように出てるかが理解できない
理解できないから、普通に手続き型書いちゃって
1つのフィールドにセッターとゲッターをつけちゃったりするんだよねぇ
530:デフォルトの名無しさん
15/05/24 01:14:37.05 TpK11WQw.net
>>503
堅牢に機密性と完全性を保証できたはずのコードに横穴をブチ開けるテロみたいな行為
が問題
まあ、説明しても理解できんのんだろうけど
目的は。。。
つか、
ベストなゴールはステートマシンだろ
今のところそれに一番近づける唯一の手法がOOP
531:433
15/05/24 01:36:24.32 TpK11WQw.net
ちなみに、俺は職業プログラマじゃないから
javaプログラマの気持ちは分からんけど
傾向としてはjavaプログラマが絡むプロジェクトは
納品したシステムに、癌細胞がある
増殖させないように教育する俺の立場からすると、迷惑意外の何者でもない
教育しなければ、癌細胞が増殖するんだから
そろそろ、継承がOOPだなんで寝言止めね?
532:デフォルトの名無しさん
15/05/24 02:02:28.41 i5vBS41t.net
どこを見ても継承はオブジェクト指向の概念の一つって書いてあるんだよなあ
533:433
15/05/24 02:05:13.26 TpK11WQw.net
だから、それが間違いなんじゃね?
534:433
15/05/24 02:14:50.85 TpK11WQw.net
理解できないバカがいると思うから補足するけど、
継承を使わないOOPは可能
異存ないよね??
継承を使ったOOPじゃないプログラミングも可能
異存ないよね?
じゃ、継承はオブジェクト指向に必要十分じゃないじゃない
必要でも、十分でも無い
535:デフォルトの名無しさん
15/05/24 02:35:56.13 ljwa6nbj.net
継承を使わないでどうやってポリモーフィズムの性質を持たせるの?
536:デフォルトの名無しさん
15/05/24 03:10:28.68 riEgaj4v.net
委譲を使うのでは?
537:デフォルトの名無しさん
15/05/24 03:36:41.18 ljwa6nbj.net
それならわかるよね
どっち使っても良いけど、オブジェクト指向には多態性が必須だし
538:デフォルトの名無しさん
15/05/24 03:46:49.33 cCZMumrg.net
ID:ljwa6nbjきみぃ、ID:TpK11WQwに説教されるがいいよ
539:デフォルトの名無しさん
15/05/24 04:46:51.38 ljwa6nbj.net
何されるのか怖くて眠い中過去のレス読んだけど
これってJavaの話じゃなくてオブジェクト指向そのものの話なのね
じゃあカプセル化だけしてあれば良いと思います
でもそんなJavaのソースは触りたくないです
540:デフォルトの名無しさん
15/05/24 05:27:09.28 tybAC3nL.net
デリゲートに継承と同じ効果を期待すると、カプセル化が容易に崩れるのではないだろうか。
541:デフォルトの名無しさん
15/05/24 06:16:42.41 61R9xmfj.net
別言語の話になっちゃうが、Let Over Lambda って本に Pandoric Let てのがあってね
>>513
java プログラマで一括りにされても困る
中途半端な理解度で仕事してるのは一緒じゃね
542:デフォルトの名無しさん
15/05/24 06:23:45.33 KRaNaDM4.net
>>512
堅牢に機密性と完全性を保証できたはずのコード
手続き型で書いて保証できないの?OOP使わないと保証できないって真顔で言ってるの?
543:デフォルトの名無しさん
15/05/24 06:47:08.52 eFsHqM4J.net
OPPでも手続き型でも個人の自由だと思う。
ただそれを人に押し付けたり、2chで主張する必要はないのでは?
544:デフォルトの名無しさん
15/05/24 08:30:33.68 tybAC3nL.net
プログラマに自由はありません。
エンジニアの言うことに従うべきです。
現代の奴隷なのですから。
545:デフォルトの名無しさん
15/05/24 09:33:54.35 nM7n17pJ.net
継承をサポートしてカプセル化がうんたらと一々説明してると手間なので、OOとか名前を付けてそれを使ってるだけ。
しかし、同じ言葉でも狭義だったり広義だったりドメインで意味は変わってくる。
プロジェクトでは認識合
546:わせや用語辞典を作ったりするだろ。 癌なのは用語が絶対普遍のものだと思っている奴。それをわかってて後出しに使う奴もいる。
547:デフォルトの名無しさん
15/05/24 09:52:52.45 dcDQRoqW.net
それは逆ではないですかね。
私が除隊して新しい職業を探していたころ、アランケイがオブジェクト指向の
原型と言えるようなアイデアを盛んにアピールしていました。
それは、プログラムを部品化してお互いにメッセージングを行うことによって
全体を組み立てるというものでした。
このアイデアがとても素晴らしいことは私にもわかりました。
しかし、この当時、そのアイデアが具現化できるとは誰も考えませんでした。
私も、アイデアの素晴らしさは理解しましたが、ある面では馬鹿にしていた一人です。
宇宙人は実在するというようなものです。
実在するでしょう、しかし目にすることは無いのです。
結局私は、再入隊してベトナムへ向かいました。
548:デフォルトの名無しさん
15/05/24 10:05:42.48 Y1LrfFVA.net
その後サイゴンが陥落し、私はまた除隊して新しい職業を探し始めました。
その頃、ベル研のデンマーク人が新しい言語を発表しました。
この言語には欠けているものが沢山ありましたが、目を引く要素もありました。
特に継承、多態性、抽象データ型という概念が整理されたことは、私を驚かせました。
この時、クラスに基づくオブジェクト指向の基礎概念が完成したと思います。
しかし、オブジェクト指向が受け入れられるには時期が早すぎました。
C言語ですら重すぎると思われていました。
結局私は再入隊してイラクへ向かいました。
549:433
15/05/24 10:13:38.17 TpK11WQw.net
>>519
論外
>>521
寝ぼけてるんだと思うよ。
別にextendsを使うな、とか、polymorphism を使うなとか言っているわけじゃない
便利な機能は使えば良い
javaはOOPができるんだから、OOPで結果的に素敵になるゴールに向かっている
筈なのに、寝ぼけた輩(やから)のせいで台無しになるのがおかしい、と言っている
そういうヤツに限って自分はOOPしてると勘違いしてる
で
>>524のように、まともにdebugしてない奴がでしゃばるから
混乱に拍車がかかるんだよ
手続き型でカプシャリングできていると太鼓判押すのはメッサ大変だろうが
550:デフォルトの名無しさん
15/05/24 10:17:56.97 uVZ1+wHE.net
規模が大きくなれば結局はデータモデル(+トランザクション)*という形にしかならないよ
本来のOOPからすればそんなのは手続型そのものだけど、
DDDの世界でももうそれはある程度仕方ないという方向になりつつある
551:433
15/05/24 10:32:30.70 TpK11WQw.net
DDDってどこでもダメな出鱈目の略か?
規模が大きくなれば、カプシャリングの重要性は増して
メッセージングをどう扱うかが重要になる
"Need to Know"とか
"Due efficient"とかの概念を勉強した方が良いと思うぞ
552:デフォルトの名無しさん
15/05/24 11:30:25.09 JprLPyf+.net
>>511
こういうのよくいるよな、納期と金勘定だけしてればいいのにプログラムに口だすやつ
553:デフォルトの名無しさん
15/05/24 11:31:14.48 KRaNaDM4.net
>>530
なんでまともにdebugしてないとか条件つけてまで自分の意見の正統性を貫くのかね?
プログラミング技法ではなくプログラミング能力に問題を置き換えてるだけでしょ
能力の話で言えば、まともにカプセル化できるエンジニアの割合とC言語などのルールベースの構造化プログラミングできるエンジニアの割合なんてたいして変わらないでしょで
554:433
15/05/24 11:38:21.78 TpK11WQw.net
>>533
1つのメンバーにセッターとゲッターを付けても良いと思ってるバカ君ですか?
555:デフォルトの名無しさん
15/05/24 11:51:43.03 uVZ1+wHE.net
現実問題としてさ
システムって最初�
556:ノ設計したらたら終わりじゃないの 最初は美しいモデルと緊密に統合されてたはずのDBは次第に一人歩きして、 勝手なトランザクションがどんどん追加されていく 既存のドメインモデルを拡張する形でやればいいと思うかもしれないが、 OOP的に綺麗に作られたモデルへの要件追加って比較的大きな設計変更を伴うことが多くて、 既存のモデルの整合性を保ったままそれをやるのは非常に難しいわけ 自動テスト?あればいいね(笑)
557:デフォルトの名無しさん
15/05/24 12:47:07.07 aZHQmtWn.net
初期設計
運用
仕様変更+仕様追加1
仕様変更+仕様追加2
仕様変更+仕様追加3
:
仕様変更+仕様追加n
再設計
運用
:
この繰り返し
558:デフォルトの名無しさん
15/05/24 12:52:33.63 aC7thSOE.net
それでいいと思うの
559:デフォルトの名無しさん
15/05/24 13:05:53.90 m34JfCKH.net
でも初のオブジェクト指向言語であるSimulaってクラスベースだし継承の機能持ってるよね?
つまり初のオブジェクト指向言語が間違ったオブジェクト指向言語だったってこと?
560:デフォルトの名無しさん
15/05/24 13:09:17.98 aZHQmtWn.net
オブジェクト指向という概念は不変かもしれないけど
設計方法や運用方法は時流によって変化していくのは当然じゃないの?
その対象がプログラミング言語自体であったとしても
561:433
15/05/24 13:48:04.02 TpK11WQw.net
多分、オブジェクト指向を作った人の概念と
オブジェクト指向の理想が分かっている人の頭ん中にある概念と
(それがあまりにも理解されないため)
広めた人の概念に、越えられなくて広く深い闇のような溝があるんじゃないの?
手続き型でもカプシャリングは不可能じゃない
面倒だけど
そういう意味では
クラスもオブジェクト指向に必ずしも必要なもの、というわけでもない
便利にOOPができる、というだけ
562:デフォルトの名無しさん
15/05/24 13:48:16.50 vh9OO7/M.net
>>535
金勘定してろよw
563:デフォルトの名無しさん
15/05/24 14:15:00.49 b8rrIu3h.net
画面全体のスクショじゃなくて特定のパネルを撮影→保存する方法ない?
564:デフォルトの名無しさん
15/05/24 14:56:21.92 SrBykNuH.net
>>541を見て判ったことがあります。
この方は、「C言語でOOPは出来ない」などと主張して「XLib」を見せられた
のではないでしょうか。
ぐうの音も出なくなって「ギシ・ギシ・・」などと奇妙な音を鳴らしながら
このスレにたどり着いたのでは。
どうでしょう?
565:デフォルトの名無しさん
15/05/24 15:24:57.90 SrBykNuH.net
>>440について回答すると、OOを説明するときに生物や自動車を用いるのは、
オブジェクト志向が実用される前からなんですよ。
日本でも1990年代初頭にはアジソンウェスレイだったと思いますが翻訳本が
書店にたくさん並んでいました。
ハンドル、エンジン、タイヤなどと書かれたただそれだけの本が売れていたのです。
その頃私はTurbo C++を買いましたから、OOPができる環境は既にあったと思います。
しかし、C++はメモリーを圧迫するため、Cの範囲内で使うのがマナーでした。
スモールトークの環境があったからと言って、OOがスモールトークによって
広められたと考えるのは尚早です。
実際には、WindowsがOOを広めました。
Windowsの登場は0から1にするには時が遅すぎましたが、1を100にしました。
566:デフォルトの名無しさん
15/05/24 15:45:24.90 SrBykNuH.net
>>448以降あたりについては、元々コンポーネント化に対する要求がOOを広める
原動力になったので、再利用性と密接に関連していると思います。
再利用性を持たないオブジェクト指向技術は、現代において全く役に立たないと
言い切ってよいと思います。
未来には役立つ可能性があると思いますが、人類はその地点に到達していません。
567:デフォルトの名無しさん
15/05/24 17:03:46.08 B+ZiQ6JK.net
>>530
愚痴を言いに来てるだけなの?
568:デフォルトの名無しさん
15/05/24 17:07:12.01 SrBykNuH.net
>>547
違うと思うよ。
知ったかしたい年頃(40代くらい)じゃないの。
569:デフォルトの名無しさん
15/05/24 18:18:36.17 Ch6FnuDl.net
業務システムでオブジェクト指向で設計した方がいいものって少ないよね。
570:デフォルトの名無しさん
15/05/24 18:25:20.06 B+ZiQ6JK.net
>>548
その割には説明するの嫌がるよね
なんか教育する立場らしいけど、こんなんで勤まるんだろうか
後輩「先輩、オブジェクト指向には継承が必要ですよね?」
433「論外。君みたいな馬鹿がいるからオブジェクト指向が勘違いされるんだよ」
後輩「・・・え?」
433「君わかってないと思うから補足すると~」
ただの危険人物だった
571:デフォルトの名無しさん
15/05/24 18:39:10.56 SrBykNuH.net
>>550
無職だと思うよ。
572:デフォルトの名無しさん
15/05/24 18:59:45.76 uVZ1+wHE.net
どんなに実装がクソだろうと問題にならないようにモジュールのインターフェースを設計するのが
上流の腕の見せ所なのにね
システム開発においてプログラマが無能なのは大前提であって、プログラマを責めるのは筋違いだ
573:433
15/05/24 20:09:05.76 TpK11WQw.net
To: ID:SrBykNuH
別に再利用性を否定してるわけでも、Javaが採用したクラスやインターフェースをディスってるわけでもない
Javaのオブジェクト指向が人間の考え方に似せられることも、幸運だったと思うよ
ただね、
なんどか寝ぼけた人が出てきたからわかると思うけど、
現実に、Javaのなかでオブジェクト指向を適切にコーディングするのに、
必ずしもクラスの概念が必要だったわけでもなく、
継承も良いOOPというよりは、コードの再利用性を高める仕組みでしかないってこった
そろそろ、オブジェクト指向=クラス、とか継承とか言うのやめない?
って話だ
574:433
15/05/24 20:18:32.81 TpK11WQw.net
>>550
教育じゃなくて、指導な
手に負えないのは、
中途半端にオブジェクト指向を理解して、むりくりOOPやるやつな
「クラスに作ったメンバー変数ですけど、プログラムが書けないからpublicにしました」
とか聞いたらぞっとするだろ
575:デフォルトの名無しさん
15/05/24 20:21:35.87 uVZ1+wHE.net
?
ポリモーフィズムを考慮しないなら>>509の「OOPと手続き型はモジュール化の単位が違うだけ」
というのは正しいんだが、そもそもそれが気に入らなかったんじゃないの?
576:433
15/05/24 20:22:25.33 TpK11WQw.net
>>549
大事な事を言ったね
そうかもね
そうだとしても、隠蔽と、データフローは気にしないといけない
オブジェクト指向が本当にやりたいのはそこ
C だと実現させるのは大変だけど、Javaだとめっさ楽に実現できる
577:デフォルトの名無しさん
15/05/24 20:34:46.38 MF+e67Kx.net
話変わるけどラムダ式って皆使ってる?
変数に入れるメリットが分からないんだけど。
ラムダ変数名.メソッド名()とイントランス変数名.メソッド名()の違いが分からない。
後処理が早くなるらしいけど今のPCクソ速いし意味なくね?
文字列の凍結をメソッドでするのみたいに。
578:デフォルトの名無しさん
15/05/24 20:36:21.97 T/GhuM2t.net
>>556
寝言は寝て言え
寝言は寝て言え
寝言は寝て言え
大事なことは3回言いました
579:10人に一人はカルトか外国人
15/05/24 20:50:17.04 9iYnq6Bj.net
★マインドコントロールの手法★
・沢山の人が偏った意見を一貫して支持する
偏った意見でも、集団の中でその意見が信じられていれば、自分の考え方は間違っているのか、等と思わせる手法
・不利な質問をさせなくしたり、不利な質問には答えない、スルーする
誰にも質問や反論をさせないことにより、誰もが皆、疑いなど
580:無いんだと信じ込ませる手法 偏った思想や考え方に染まっていたり、常識が通じない人間は、頭が悪いフリをしているカルト工作員の可能性が高い 靖国参拝、皇族、国旗国歌、神社神道を嫌うカルト 10人に一人はカルトか外国人 「ガスライティング」で検索を!
581:デフォルトの名無しさん
15/05/24 20:59:09.02 B+ZiQ6JK.net
>>554
>>513で教育って言ってるじゃん
582:デフォルトの名無しさん
15/05/24 21:08:20.26 JNQJCLy9.net
読み解けてないみたいだから解説するけど、その教育というのは○○という意味で指導のこと
お前みたいに寝ぼけてる奴が癌
次の433のレスはこれで決まり
583:デフォルトの名無しさん
15/05/24 21:09:19.86 yXIm8/1S.net
読み解けてないみたいだから解説するけど、その教育というのは○○という意味で指導のこと
お前みたいに寝ぼけてる奴が癌
584:デフォルトの名無しさん
15/05/24 21:14:13.22 MF+e67Kx.net
質問しても流される。。
議論スレで離隔したい。
585:デフォルトの名無しさん
15/05/25 01:20:53.49 fq7wkhGS.net
>>556
だから自分の能力不足を言語のせいにするのはやめろよ
Cで隠蔽なんて構造体の型定義を隠してポインタ定義だけ公開、振る舞いは関数ポインタでゴニョゴニョと
スレ違だからこれ以上書かないが、その薄い知識が役立つのは新人教育までだから
586:433
15/05/25 01:50:01.68 p1p0Nay9.net
>>557
正直匿名クラスとか嫌いなんでよくわからんが、気にならない人は便利だと
思うんじゃないかな、程度だわ
隔離されたいんだけど、隔離先がない(過疎化が目に見えてる)ということと
どうも、図星の指摘に涙目になるやつが多い見たいでねぇ
587:433
15/05/25 02:08:46.71 p1p0Nay9.net
>>555
探せば細かいツッコミはあるのかもしれないけど、そんなに気にならなかった
ので、気に入らないとも、気に入るとも思ってないけど???
>>560-561
「教育的指導」って意味でな
なぜゆえそこを噛み付くのかが理解できんけど
そもそもいちいち教育なんてできるわけない
ミーティングルーム予約とって、ヒアリングののちコンコン説説と、だ
めんどくせえ
>>564
それ、なに?低脳なちみが、俺を煽ろうとしているわけ?
同一メモリ空間だとリターンアドレスの絶対値のみならず、スタックされた関数からの
相対位置まで、ダイナミックにしないと隠蔽は難しいよね、
とか言わせたいの?
馬鹿じゃね?
588:デフォルトの名無しさん
15/05/25 02:31:50.82 fq7wkhGS.net
>>566
そこまでの隠蔽がJavaだと簡単にできると?
名前解決でリフレクションが言語レベルでサポートされてんだぜ?
煽ってないよ哀れんでるよ
589:433
15/05/25 02:36:41.37 p1p0Nay9.net
ちょいと思考実験してみようか
javaで、シングルトンのみのプログラムを書いてもOOPは実現できるんだぜ
継承無しのシングルトンのみでも、だ
この説明が理解できない奴は涙目で反論するんだろうね
オブジェクト指向を理解してる人は「そうだけど、そんなんめんどくせぇ」
って言うだろうね
その違いだよ
590:433
15/05/25 02:42:40.89 p1p0Nay9.net
>>567
ほんと、バカだなぁ。。。
そりゃ、関数をポインタで呼ぶCをウラヤンダ人が多いから
そんな要望が上がってくるんだよ
言語も要望を無条件に受け入れると退化するって典型的な例だろ
使 わ な け れ ば 良 い
591:433
15/05/25 02:45:10.32 p1p0Nay9.net
ごめん、、、
馬鹿たる所以を説明してなかったね
おまえ、せっかくprivateにしたメンバーにゲッターとセッターを付けてドヤ顔
してる馬鹿と同じ馬鹿臭がするよ、
心底馬鹿なんだね、
って書くのを忘れてたよwww
592:デフォルトの名無しさん
15/05/25 02:55:29.
593:17 ID:QGZa2Nfx.net
594:433
15/05/25 02:57:36.65 p1p0Nay9.net
>>571
セッター「と」ゲッター
595:デフォルトの名無しさん
15/05/25 03:03:52.63 fq7wkhGS.net
>>570
同一メモリ空間うんぬんまで言及したのは自分だぜ、、
っで結論が使わなければいいって、、
596:デフォルトの名無しさん
15/05/25 03:04:56.39 mEGu5cSx.net
>>566
教育だろうが教育的指導だろうが言葉はどうでも良いんだよ
「人に物を教える」という本質さえ表現できてればね
「人に物を教える」こと、あなたはできますか?
いやできないでしょって言ってるのが>>550なんだよね
それなのにいきなり>>554で「教育じゃなくて指導」とか言って、
言葉について意見し始めるのがもうおかしいんだよな
597:デフォルトの名無しさん
15/05/25 03:05:08.54 YjLBOZtQ.net
>そろそろ、オブジェクト指向=クラス、とか継承とか言うのやめない?
>って話だ
じゃあ、それに代わる オブジェクト指向=○○
ってのを提言しないと広まらないよ
ほとんどの人はオブジェクト指向がやりたくてプログラミングしてるんじゃなくて
プログラミングが楽になるからオブジェクト指向(と呼ばれているやり方)を選択してるだけで
そのやり方が本当のオブジェクト指向かどうかなんて大した問題じゃないから
598:デフォルトの名無しさん
15/05/25 03:05:10.41 QGZa2Nfx.net
>>572
ああ、ゲットしたいだけのフィールドにセッターいらんやろとかそういう話か
599:デフォルトの名無しさん
15/05/25 06:44:48.36 uOKH4JiO.net
>>568
>シングルトンのみのプログラムを書いてもOOPは実現できるんだぜ
それでいいんだったらカプセル化のしやすさは特にCと変わらないと思うが
Cにファイルスコープがあるのを知らないの?
600:デフォルトの名無しさん
15/05/25 07:11:24.20 vHFEE713.net
アクセス修飾に同じファイルからのみアクセス可能ってやつ追加してほしい
601:デフォルトの名無しさん
15/05/25 09:42:25.36 2LXkX4Xr.net
>>578
クラスにしてから同じファイルだったかどうかなんて判るの?
新たなパッケージかインナークラスにすればいいんじゃないの。
602:デフォルトの名無しさん
15/05/25 10:26:03.96 JYCHMnRj.net
>>576
ゲッターとセッターを用意したら公開しているのと同じと言ってるんだと思うよ。
・多くのIDEがセッター・ゲッターを認識する。
・フィールドの変更によって何らかのリアクションが必要になる場合が予想される。
等の理由で、フィールドの公開はセッター・ゲッターによって行うというポリシーは
有りだと思う。
ボーランドの言語には、そういった目的のプロパティというものがあったから
セッター・ゲッターの潜在需要は大きいと思う。
603:433
15/05/25 10:26:40.15 p1p0Nay9.net
>>575
○○を提言するほど、俺は偉くないよ
浸透いうな的に
オブジェクト指向で継承いうな
オブジェクト指向でポリモーフィングいうな
程度かな
604:433
15/05/25 10:29:17.46 p1p0Nay9.net
>>580
そやね
つか、オブジェクト指向的には、ゲッターか、セッターのどちらかであるべきで
2つが同時にあってはならない
理由は、セッターやゲッターはデータフローを司るから
605:デフォルトの名無しさん
15/05/25 10:38:38.47 JYCHMnRj.net
>>582
いやいや、俺は逆のことを言ってるよ。
両方あってよいと思う。
単純にフィールドを公開するだけであっても、必ずセッター・ゲッターを用意するという
ポリシーはあっても良い。
セッター・ゲッターはビーンズで必要になったわけだけど、ボーランドのRAD用
言語にはもっと積極的なプロパティという仕組みがあった。
プロパティはとても便利だったよ。
当時の非力なマシンでもIDEのサポートが機能したし。
606:デフォルトの名無しさん
15/05/25 10:50:13.65 63G9oDBX.net
433 NG指定おめでとうございます
607:デフォルトの名無しさん
15/05/25 11:46:30.69 2LXkX4Xr.net
ゲッターやセッターは後から振る舞いを変えられるから使ってる。
フックみたいな使い方が多い。
608:433
15/05/25 11:46:38.76 p1p0Nay9.net
>>583
それ、クラス設計が間違ってるんだよ
データをPull するか、Pushするかは、同じように見えて
全く違う
これが理解できないなら、永遠にまともなOOPはできない
609:デフォルトの名無しさん
15/05/25 12:05:13.15 JYCHMnRj.net
>>586 オブジェクトにプロパティがあるのはごく自然な振る舞いだと思うよ。 例えばウィンドウ・オブジェクトに背景色プロパティがあっても良い。 背景色を取得したい、背景色を設定したいという要求はごく自然なこと。 背景色を設定したときにはウィンドウの色が変わってほしいので、何らかの 動作が必要になるから、セッターが必要になる。 そして、標準化されない方法で背景色を保持するフィールドにアクセスされては 困るから、フィールドを隠ぺいする必要がある。 その要求によってゲッターの必要が生まれる。 そして、セッターとゲッターを用意すると多くのIDEがサポートしてくれる。 そのほかにも、プロパティを取得された場合にですら、何らかの動作が必要な場合は 考えられるしね。 たとえば、キャッシュ内での優先順位を変更するとか、要求はいくらでも発生する。
611:デフォルトの名無しさん
15/05/25 12:10:23.53 JYCHMnRj.net
433氏は読み物の影響を受けすぎなんじゃないのかな。
最近のウェブ上にある読み物は、極端なことを書いて炎上を狙うから、
あまり影響されないほうが良いと思うよ。
どっかのスレでブリッジパターンについて質問があったけど、そういうのを見て
極端なことを言いだしたんだろうかね。
612:デフォルトの名無しさん
15/05/25 12:15:49.18 JYCHMnRj.net
ボーランドの言語に有ったプロパティというのは、まさにこのためのもので、
変数にアクセスすると関数が呼び出されるというようなものだったんだよ。
見た目はもう少し洗練されていたけどね。
これはRADのために作られたと思う。
Javaでセッター・ゲッターが明文化されたのはビーンズのためだったので、
これもRADのためだったと考えてよい。
こういった背景を知っていれば、自然に受け入れられるんじゃないかな。
613:デフォルトの名無しさん
15/05/25 12:25:09.95 5YOd8wM6.net
彼が言うにはgetと多態使わないで再利用性は確保しろってこと?
それって結構難しいと思うんだが
プッシュを基本とした設計だと、インターフェースをうまく使わないとクラス同士が簡単に密結合しまくって
再利用性のかけらもないクラスの糞塊が出来上がる
614:433
15/05/25 16:46:25.69 p1p0Nay9.net
>>587
いやいや、
そういうフィールドがあることも否定せんしよ
ゲッターセッターのもう1つの役割であるチェック機能だけが欲しい場面もあるだろうよ
そうでなくて、
う〜ん
Write Only と Read Only だな
Write Only を実現したいのにセッターとゲッターを付けやがると問題起すよ、ってことよ
615:デフォルトの名無しさん
15/05/25 17:17:57.26 2LXkX4Xr.net
>>589
javaの文法として、そのプロパティがサポートされてないから、ゲッター、セッターというルールを作ったってことだよな。
C言語でOOPがサポートされないけど、ルールを決めてOOPしてる人と一緒だな。
ゆとり世代は言語がサポートしてないとダメだから、新しい言語がいいと言うのかも。
616:デフォルトの名無しさん
15/05/25 18:45:14.49 Cc4FT8Vv.net
サイゴン陥落の時はひどい目にあったからね。
617:デフォルトの名無しさん
15/05/26 00:27:06.73 MruFbrRw.net
★マインドコントロールの手法★
・沢山の人が偏った意見を一貫して支持する
偏った意見でも、集団の中でその意見が信じられていれば、自分の考え方は間違っているのか、等と思わせる手法
・不利な質問をさせなくしたり、不利な質問には答えない、スルーする
誰にも質問や反論をさせないことにより、誰もが皆、疑いなど無いんだと信じ込ませる手法
偏った思想や考え方に染まっていたり、常識が通じない人間は、頭が悪いフリをしているカルト工作員の可能性が高い
靖国参拝、皇族、国旗国歌、神社神道を嫌うカルト
10人に一人はカルトか外国人
「ガスライティング」で検索を!
618:デフォルトの名無しさん
15/05/26 00:28:05.25 MruFbrRw.net
ちな
「ガスライティング」は約すると 集スト になるンゴ
619:433
15/05/26 07:07:03.31 nLpsmWXi.net
>>590
なんも言語理解力がないんだな
チョンなみだよ
ゲッターはRO
セッターはWO
ポリモーフィズムはオブジェクト指向なんかじゃなくて、
コード再利用性が高まる機能の1つ
620:デフォルトの名無しさん
15/05/26 10:11:04.72 FJaoXbZH.net
オブジェクト指向の考え方の一つにコードの再利用があって、その考え方を実践するための機能に継承や多態性があるんでしょ?
621:デフォルトの名無しさん
15/05/26 19:58:49.52 eiMDqtUU.net
多態とオブジェクト指向はシミュレーションが主用途だった頃の発明
コード再利用はそれを再発見したドカタのスローガン
622:433
15/05/26 20:53:28.97 nLpsmWXi.net
>>598
1行目はよく分からんが、2行目は吹くほど笑
623:った。言い得て妙だね まあ>>597みたいな奴がまだキリンさんクラスとか動物クラスとか 言っているんだろうけどねぇ
624:デフォルトの名無しさん
15/05/26 21:03:09.66 DZ6Zizra.net
多態による再利用はオブジェクト指向らしい設計を維持するためにも重要だよ
9割共通で1割違うクラスが複数あるときCOBOLみたいにクラスを丸コピぺしたり
猿のように条件分岐するのはオブジェクト指向的ではない
625:デフォルトの名無しさん
15/05/26 22:00:54.05 L0L5JUGf.net
「(犬と人間が来て)哺乳類ならならとりあえず『歩け』っていえば歩くだろ。それぞれがどういう風に歩くかは知らん」
「(LinedListとArrayListがList型変数に渡されて)Listならとりあえずgetって書けば取り出せるだろ。実装がどうなってるかは知らん」
オブジェクト指向=多態ではないけれど、オブジェクト指向の実現方法の一つであることは間違いないよな
626:デフォルトの名無しさん
15/05/26 22:15:02.71 DZ6Zizra.net
LinkedListとArrayListが両方Listなのは設計ミスだけどね
Listがランダムアクセスをサポートしてるかどうかは実装依存というクソ仕様
627:433
15/05/26 22:33:08.26 nLpsmWXi.net
>>601
ちっとばかしシックリこないけど、ほとんどの人がその程度の理解があれば
少しは状況がちがったのかも
get より equals の方が例としてはよかったのでは?
628:デフォルトの名無しさん
15/05/26 22:36:26.74 aGxSVLPT.net
そんな使い古されたバズワードで議論とは若いのお…
629:433
15/05/26 22:40:00.14 nLpsmWXi.net
なんか日本語が変
ちっとばかしシックリこないところもあるけど、
ほとんどの人が、その程度の理解であれば
状況は全然違ったのかも
ただ、馬鹿が多いから
「オブジェクト指向の実現方法の一つである」を
「ポリモーフィズムにすりゃオブジェクト指向になるだろ」に
勘違いする
630:デフォルトの名無しさん
15/05/26 22:46:16.60 DZ6Zizra.net
と、「カプセル化してりゃオブジェクト指向になるだろ」が持論の方が仰っております
631:433
15/05/26 22:51:36.38 nLpsmWXi.net
>>606
そんな馬鹿が社内に居れば、説教部屋行きだなw
632:デフォルトの名無しさん
15/05/26 23:15:18.78 UiDv1Vcu.net
>>602
一応RandomAccessインターフェースがあるけどね
633:デフォルトの名無しさん
15/05/27 00:43:56.26 Gahj6sEf.net
>>607
あなたにその権限があったとしても、
あなたの教えを受けて考えを変えようと思う方はいません
残念でした
634:デフォルトの名無しさん
15/05/27 01:54:55.02 esbmy2lw.net
本当に多態がOOPに重要と思うなら、君はカプセル化や継承という「枠」を主軸とするもう一つOOPの人だよ
そもそも原理主義から見たら、多態なんて概念は瑣末な物だからねえ
受ける相手がいなくても良いんだから
635:デフォルトの名無しさん
15/05/27 04:44:13.95 FB4uk7Yf.net
じゃあJavaで継承と多態性を一切使わずにプログラム組んでみろよ
絶対わけわからんことになるから
636:デフォルトの名無しさん
15/05/27 06:06:47.39 Bw6jp1Et.net
コード書いて見せてよ
637:デフォルトの名無しさん
15/05/27 06:44:43.43 esbmy2lw.net
>>611
別にわけわからん事にはならんよ
継承は移譲、多態もキューと分岐で十分
原理主義の方は、型キャストによる多態はしないね
たまにそれも多態とか宣う困った人がいるけど
638:デフォルトの名無しさん
15/05/27 06:45:46.73 esbmy2lw.net
書き換えて欲しいなら元コード出しておくれ
639:デフォルトの名無しさん
15/05/27 06:50:14.28 w5e0eq0t.net
多態はSimulaの頃からある必須概念だぞ
640:デフォルトの名無しさん
15/05/27 06:50:28.96 esbmy2lw.net
すまん、やっぱり何書いても突っ込まれそうだからやめる
641:デフォルトの名無しさん
15/05/27 06:51:48.26 esbmy2lw.net
>>615
Simulaにおいてもタイプシステム上の概念だよ
型が前提
642:デフォルトの名無しさん
15/05/27 06:57:34.51 w5e0eq0t.net
多態というのが君の中でどう定義されてるのかは知らないが、
一般的に多態というと一つの操作に対し複数の
643:型の実装が呼び出されることをいう 型ベースかダックタイピングかなんて本質的でない区別はしないよ
644:デフォルトの名無しさん
15/05/27 07:04:55.95 esbmy2lw.net
そういうタイプシステムで、動的バインディングするのが多態で
オブジェクト指向を提唱した人が言ってたのは、もっと上位の概念
アクターモデルとかの話で、源流のOOPではないんだよ
645:デフォルトの名無しさん
15/05/27 07:10:40.70 w5e0eq0t.net
で、>>611のいう継承と多態性にいつ「OOP原理主義における」の条件が付いたんだ?
少なくともJavaでの一般的な言葉においては、多態の実装には継承かインターフェースかリフレクションが必須
646:616
15/05/27 07:11:21.47 w5e0eq0t.net
すまん訂正
多態の実装には→移譲の実装には
647:デフォルトの名無しさん
15/05/27 07:14:19.07 esbmy2lw.net
>>620
その制約って多態の実装をせずに多態を実装しろって矛盾した話でしょ?
何言ってるんだか
648:デフォルトの名無しさん
15/05/27 07:16:09.21 esbmy2lw.net
移譲の実装にはどれも要らないよ
やってみせようか?
649:616
15/05/27 07:19:07.89 w5e0eq0t.net
ああ移譲って単に直接別のクラスのメソッドの実装を呼び出すことを言ってたのか
移譲で継承を代替できるから多態は不要という意味不明な話かと勘違いしてたわ、すまん
650:デフォルトの名無しさん
15/05/27 07:56:47.91 FB4uk7Yf.net
>>613
それコード長くならない?
オブジェクト指向プログラミングの目的の1つにコード短くするためっていうのがあるけど
651:デフォルトの名無しさん
15/05/27 07:59:04.16 RZsA/U1h.net
Javaではclassを宣言しなければプログラムは書けない。
classを宣言するとjava.lang.Object classが必ず継承される。
終了。
652:デフォルトの名無しさん
15/05/27 08:05:20.08 FZwjLvvv.net
>>626
Java8ならw
URLリンク(ideone.com)
interface Main
{
public static void main (String[] args)
{
System.out.println("ぬるぽ");
}
}
653:デフォルトの名無しさん
15/05/27 08:23:17.86 esbmy2lw.net
>>625
長くはなるかもしれないけど、どちらのOOPも短くするなんて目的はないと思う
それより1つもあらゆる動的バインディングを伴わないという制約は
完全に密結合になるし、今時の大規模開発では無理だね
それでも構造化は十二分にできるから、「わけわからない」とはならないよ
654:デフォルトの名無しさん
15/05/27 08:25:02.92 esbmy2lw.net
>>626
はいはい
そう言う屁理屈いう奴絶対出ると思った
655:デフォルトの名無しさん
15/05/27 13:47:09.46 kpUvErGB.net
>>625
コード短くするためってのはないよ
シンプルにすることはあっても短くすることは目的じゃない
わかりにくくなったら保守性も下がるし意味がない
変数名やメソッド名はむしろ昔より長くなってるでしょ
656:デフォルトの名無しさん
15/05/27 19:24:45.82 LZL2gy1L.net
Twitter4jを使って特定のアカウントが凍結されているか確認する方法はないですかね?
迷惑垢拡散アカウントと持っているので拡散した垢が凍結されているかを確認したいです。
657:デフォルトの名無しさん
15/05/27 21:01:57.94 w5e0eq0t.net
>>631
Twitter4jじゃなくて本家のREST APIのドキュメントを読め
そこに無ければ無いしあるなら直接それ使えばいい
658:デフォルトの名無しさん
15/05/28 02:29:42.27 uibzkFZp.net
>>602
どういうこと?ランダムアクセスってインデックスによるアクセスってこと?それなら、LinkedListも内部トラバースするけどインデックスアクセスできるっぽいけど
659:デフォルトの名無しさん
15/05/28 04:06:57.38 tKwlXHJ9.net
↓これマジ?
URLリンク(techtarget.itmedia.co.jp)
>パッチ未適用率が約8割のバージョンもJavaは“最も危険なソフトウェア”
660:デフォルトの名無しさん
15/05/28 04:09:22.28 7nXufysT.net
いろいろなオブジェクト指向言語のお手本になってるSmalltalkでも
661:継承はあるじゃない C++だって継承がある 継承の機能のないオブジェクト指向言語の方がすくない 継承がなくて委譲で継承のようなことやるってGo言語使いかな?
662:デフォルトの名無しさん
15/05/28 05:13:26.64 tv7QNGPA.net
>>635
Smalltalkは別だよ
C++と一緒にしてる時点で知らないと言ってるようなもん
簡単に言うとJavaScriptのような継承
663:デフォルトの名無しさん
15/05/28 06:07:52.40 8cEiN+lf.net
>>633
LinkedListのgetは毎回先頭から要素を舐めるので、うっかり
for (int i = 0; i < list.size(); i++) list.get(i);
なんてことをやろうものならO(N^2)だ
仮にアプリの作りがまずくて、アプリへの要求の仕方によって
悪い奴が意図的にこのクソ重いループを実行させる方法があるなら、
アプリのDoS脆弱性と言われても仕方ないレベル
664:デフォルトの名無しさん
15/05/28 07:45:57.12 /AhuPFHmC
多相性には部分型多相しかないと思ってるバカどもの迷子センターになってるな
665:デフォルトの名無しさん
15/05/28 10:01:39.86 DciKDkXU.net
>>637
最近おぼえたんでちゅか?
すごいでちゅねー
666:デフォルトの名無しさん
15/05/28 17:55:54.70 r2p1JjMc.net
テキストエリアでwin標準?のポップアップメニュー(Janeのメモ欄で右クリックしたら出てくる奴)を使う事できないの?
667:デフォルトの名無しさん
15/05/28 17:57:14.08 8cEiN+lf.net
さっさとSWTに乗り換えましょう
668:デフォルトの名無しさん
15/05/28 19:55:35.42 yXcYN23r.net
>637
ArrayListにもデメリットがあること、用途に応じて使用するリストを選ぶべきことまで踏まえた上で「LinkedListはクソ」って言ってる?
昨今のハードの高性能化もあってほとんどのケースでArrayListで事足りるってだけで、LinkedListにはそれなりの使い道もあるんだけど
ランダムアクセスできて、要素の削除やリストサイズの拡張にコストがかからなくて、メモリも最小限しか使用しないリストの実装があると言うのなら是非紹介して欲しい
つーかLinkedListって、いわゆる「リスト」の構造に最も忠実だと思うんだが。どちらかと言えばArrayListの方がイレギュラー
669:デフォルトの名無しさん
15/05/28 20:18:32.34 8cEiN+lf.net
>>642
「LinkedListはクソ」じゃなくてインターフェイスの設計が間違ってると言ってるんだよ。
ただList<T>を受け取っても、それがgetを(実用的に)サポートしてるかどうかは型チェックしてみないとわからない。
オブジェクト指向の設計として明らかに破綻している。
そりゃあまり重要でない性質ならわざわざ型で区別しないことも多いけど、
「インデックスによるランダムアクセスをサポートしているかどうか」というのはコレクションにとって極めて重要な性質。
それに対して、IterableやCollectionになくてListにあり、かつ実装依存でない性質って
「要素を順方向、逆方向に辿れる」だけ。そんなの、ランダムアクセスの可否に比べればほとんど役に立たない。
ちなみに後発の.NETではその失敗からListはランダムアクセスのためのインターフェイスと定義され、
LinkedListはListを実装しない。
670:デフォルトの名無しさん
15/05/28 20:48:02.43 r2p1JjMc.net
(L)GPLライブラリってとりあえずソース公開すればいいの?
671:デフォルトの名無しさん
15/05/28 20:59:07.97 yXcYN23r.net
>>643
いやいやいや、Listの下にRandomAccessListインターフェースを作れって話なら分かるけど、
最も抽象的な概念であるListにランダムアクセスを強要しろってのはねーわ。何のための抽象化?
LinkedListがListを継承しないってことは、それこそ君の言うようなDoS脆弱性()が発覚した時にさあLinkedListからArrayListに変えましょうってなったとき、
�
672:ロ々ソースを書き変えなきゃいけなくなるわけだけど。概念的な機能が同一のものを同一に扱わないってのはそれこそオブジェクト指向的じゃないでしょ
673:デフォルトの名無しさん
15/05/28 21:00:57.98 Yt09KnaV.net
屑哲とは何ですか
674:デフォルトの名無しさん
15/05/28 21:19:05.95 8cEiN+lf.net
>>645
で、実際ListIteratorを使ったことある?
675:デフォルトの名無しさん
15/05/28 21:30:16.79 yXcYN23r.net
>>645
Iteratorは使ったことあるけど、それがどうした?
「順次にアクセスしたいときはArrayListにIterator使えばいい」とでも言うのか?
IteratorとListは全く別のものだし何が言いたいのか分からんわ
676:デフォルトの名無しさん
15/05/28 21:36:29.41 8cEiN+lf.net
ListIteratorはIteratorは別のもので、Listをリスト足らしめている根源なんだけど、
そんなことも知らないでListの概念云々言ってたの?
677:デフォルトの名無しさん
15/05/28 21:43:15.77 DciKDkXU.net
バカ過ぎる
678:デフォルトの名無しさん
15/05/28 21:44:00.41 yXcYN23r.net
>ListIteratorはIteratorは別のもので、Listをリスト足らしめている根源なんだけど、
え?じゃあListIteratorを取得可能なLinkledListはリスト以外の何物でも無いじゃん…
679:デフォルトの名無しさん
15/05/28 21:53:47.84 8cEiN+lf.net
>>651
そうだよ。だからListIteratorを使ったことがあるかと聞いてるの。
ないならgetの付いたCollectionとしてしかListを使っていないことになるから、
即ちランダムアクセスのできないListには意味がないということ。
とはいえ実際にはCollectionsの各種アルゴリズムの実装などでListIteratorは内部的に活用されてるので、
決して意味がないわけではないんだけどね。
ただ程度問題として、比較的使用頻度の低いリンクリストのために多くのユーザーにとっての利便性を非常に大きく損なう設計にするのは
適切だろうか、ということ。
Javaが内部的に使ってるだけなら結局Oracleが頑張ればいいだけだしね。
680:デフォルトの名無しさん
15/05/28 22:00:23.19 yoCp6Uc+.net
ここでグダグダJavaの設計について言うのは適切じゃないと思うけどな
681:デフォルトの名無しさん
15/05/28 22:04:44.84 +ywrUonY.net
>>653
そうだな。
URLリンク(pbs.twimg.com)
682:デフォルトの名無しさん
15/05/28 22:09:54.26 yXcYN23r.net
>ないならgetの付いたCollectionとしてしかListを使っていないことになるから、
>即ちランダムアクセスのできないListには意味がないということ。
そういう結論が出るに至る過程が全く分からんな、バカだから。
CollectionにもIterableにもgetが無い以上、getがあることには意味があるとしか思えんわ。
ランダムアクセスできるかどうかってようはパフォーマンスの問題であって、機能の問題ではないだろ?
「バブルソートはオーダーが高いからソートアルゴリズムとして扱うな(そっちの方がユーザにとって利便性が高い)」って言ってるようにしか見えんわ
683:デフォルトの名無しさん
15/05/28 22:16:25.52 yXcYN23r.net
それと、百歩譲って「Listはランダムアクセスをサポートすべき」だとしても、それが中間的なインターフェースによる実現(RandomAccessInterfaceの実現)ではだめで、
LinkedListをListから外すしかない理由を説明してくれ。
684:デフォルトの名無しさん
15/05/28 22:18:43.06 8cEiN+lf.net
>>655
いや、パフォーマンスを問題にしないならそもそもLinkedListなんて必要ないじゃん…
「LinkedListは必要である」という前提で話をする以上、パフォーマンスは無視できないよ
685:デフォルトの名無しさん
15/05/28 22:19:41.55 58xt6n/s.net
おい、馬鹿
おのれは言いたいことを一レスにまとめるということができんのか
アスペルガーじゃあるまいし、無駄にスレ消費すんな
686:デフォルトの名無しさん
15/05/28 22:26:26.57 yXcYN23r.net
>>657
パフォーマンスを「リストと言うデータ構造」に対して保証する必要があるのか?って話なんだけど
LinkedListはデータ構造としてのリストの機能を十分に満たしてるよね?
それパフォーマンスを問題にしないなら「LinkedListが」必要でなくなる理由は?
パフォーマンス一切無視ならランダムアクセスするリストも連結リストも等価だよね?
687:デフォルトの名無しさん
15/05/28 22:40:21.15 8cEiN+lf.net
>>659
関数型ならともかく、普通Javaみたいな言語で特にパフォーマンス気にしないときとりあえずArrayList使うでしょ。
あえてLinkedListを使うのは特にパフォーマンスを意識している場合だろ? その作法はパフォーマンスの面でも正しい。
なぜなら、一般的には連続
688:アクセスや最後への追加削除と比較して、途中への挿入削除の頻度は低いから。 もしどっちかに統一するとすれば、全体としてはArrayListの方が間違いなく速い。どちらか選ぶなら答えは明らか。
689:デフォルトの名無しさん
15/05/28 22:54:10.73 8cEiN+lf.net
つまりLinkedListを使うときっていうのは、
そのアクセス効率の悪さ(getは論外だけど、Iteratorも遅いよ)やメモリ使用量の多さ、GCへの負担を受け入れてもなお
メリットがあるほど挿入削除が多いことがわかっている場合というわけ。
それほどまでにパフォーマンスに配慮しながらgetは気にしないなんてありえないよね?
690:デフォルトの名無しさん
15/05/28 23:03:15.36 yXcYN23r.net
>>660-661
ほとんどの場合においてArrayListを使えば事足りると言うのはその通りだし、LinkedListの用途についても俺もその認識だ。
しかしその答えから「Listはランダムアクセスを保証すべき(LinkedListはListに含まれないべき)」理由が俺には分からないし、
>もしどっちかに統一するとすれば、全体としてはArrayListの方が間違いなく速い。どちらか選ぶなら答えは明らか
これは『どちらかしか使えなくなるとしたら』ArrayListにした方が上手くいくという話であって、「パフォーマンスを一切考慮しないなら」ArrayListにすべき理由じゃない。
たぶん言葉の認識の違いだと思うんだが、俺は「パフォーマンスを一切考慮しない」というのを入力に対する出力(そのプログラムが持つ機能、用途)しか考慮しないという意味で発言してる。
そして俺は機能が全く同じなら同じクラス・インターフェースにまとめるべきだと思う。よって俺にはLinkedListとArrayListは同じListとして考える方が自然だとしか思えない。(それを使うかどうかはまた別)
パフォーマンスが違っても用途が同じものを敢えて置換できないようにする意味はどこにあるんだ?
691:デフォルトの名無しさん
15/05/28 23:18:19.94 bXGZB0T7.net
IDEのコード補完でクラスをインポートするときに
JDKに同じ名前のクラスがあるとうっとうしい
Java9のモジュールシステムでjava.awt.Listとか
クラスパスから除外できるようになりますか?
692:デフォルトの名無しさん
15/05/28 23:20:27.08 +atrdthn.net
gnu class path は今はどうなっているの?
693:デフォルトの名無しさん
15/05/28 23:53:09.70 tv7QNGPA.net
横槍ですまない
>>662
>そして俺は機能が全く同じなら同じクラス・インターフェースにまとめるべきだと思う。よって俺にはLinkedListとArrayListは同じListとして考える方が自然だとしか思えない。(それを使うかどうかはまた別)
おっしゃる通り、プログラマがListと言う時はLinkedListを指すのだから、
その話しぶりでは、設計は間違いだが変更は不可、って結論じゃなきゃおかしいよ
それとこの手の後付の共通化を受け入れる人が多いが、これ間違いと思う
「異なる物を同一のものとして扱う」という概念への誤謬
同じ粒度の異なる物を別の抽象に無理に合わせても、
インターフェース以外の中身はその抽象には程遠い
本来は一つ下の粒度の物を適切に使い、抽象に合う物を組み立てなおすべき
極端に言えば、アダプタパターンは悪い妥協、かつアンチパターンだと思う
694:デフォルトの名無しさん
15/05/29 00:53:09.71 itAy1lMg.net
見ず知らずの人たち相手にOOPについて議論するとどんなメリットがあるの?議論することそのものを楽しんでいるだけ?
695:デフォルトの名無しさん
15/05/29 01:51:22.68 xnuOOQOC.net
ツリーイテレータは無いのだろうか。
696:デフォルトの名無しさん
15/05/29 03:56:18.50 e13wdj/j.net
やり取りできるメッセージ(インタフェース)が一緒でも、性能が違ったら同じインタフェースにするべきでないって話?
それ、実装が違えば性能違って当たり前なんだから、インタフェースの意味ないね。
大きく違うからとか、主観の話かな。
697:デフォルトの名無しさん
15/05/29 04:07:17.19 AdYurFH0.net
>>602
言いたいことはわからんでもないけど
> 両方Listなのは設計ミス
は言い過ぎだろ
Listがget(int)を持つのは、順序付けられたCollectionだからだよ
Listの要素は順序を持つ
だからn番目の要素にアクセスするメソッドがある
逆にCollectionにgetが無いのは順番を�
698:K定しないから
699:デフォルトの名無しさん
15/05/29 04:33:38.32 JPuBr0K9.net
初心者なんだけど、ArrayListとLinkedListって、addやremoveしまくりたいときはLinked使って、getしまくりたいときはArrayを使うって覚えてたんだけど、違ったの?
700:デフォルトの名無しさん
15/05/29 07:09:05.85 GbyQSdJL.net
>>670
間違い
ほとんど全ての場合でArrayListの方が性能が良いので、基本的にLinkedListは使わず常にArrayListを使う。
どうしてもボトルネックになってるコレクション操作の箇所がある→どうやら途中への挿入or削除が原因のようだ
→LinkedListに変えてみたら解消した
これだけでいい
701:デフォルトの名無しさん
15/05/29 07:13:21.03 g6fbSoL/.net
>>668
同じ操作になるから意味はあるよ
いくら実装が違うからと言って、モデリングが間違ってたら駄目だって事さ
無理やり共通化するのを良しとすると、極論的に正常動作でなくても、
インターフェースさえ付いてれば良い事になってしまう
702:デフォルトの名無しさん
15/05/29 07:24:06.99 GbyQSdJL.net
単純に、利用者のミスを生みやすい設計はよくないって話だよな
Mapが渡ってきたらgetは直感的にO(1)、遅くてもO(log(N))くらいだと期待するだろ?
Map#getよりも一見処理の軽そうなList#getがO(N)になりうるのは直感に反する
703:デフォルトの名無しさん
15/05/29 12:13:40.31 RzAd5Uvp.net
LinkedListってListIterator使わないなら途中への挿入削除は結局検索のせいでO(N)なので
オーダー的にArrayListより速いといえるのは先頭への追加削除だけという間抜けな設計なんだよね
ListIteratorはリストが変更されると無効になるからカーソルとして保持するのはやりたくないし
ListIteratorのアイデアに固執せず単純にListNodeを公開してくれるだけでよかったのにな
704:デフォルトの名無しさん
15/05/29 13:50:34.41 2KbtQEek.net
初歩的なことですいません。
import javax.bluetooth.LocalDevice;
これをeclipseで記述すると赤線でエラーになるのですが
何が足りなくてどう記述すればよいのでしょうか?
705:デフォルトの名無しさん
15/05/29 14:14:27.92 2KbtQEek.net
自己解決しました。
706:デフォルトの名無しさん
15/05/29 14:16:56.43 AQuaH7cx.net
synchronizeについて教えてください。下記のコードでメソッドにsynchronizedを行っていますが、
変数mapは排他がかかるでしょうか?それともメソッドにsynchronizedを行ってもダメで変数mapそのものにsynchronizedするべきでしょうか?
※前提条件
・getData()は外部のスレッドから一定周期で呼ばれる。
・setData()は内部のスレッド(SubThread)から一定周期で呼ばれる。
public class Common{
private HashMap<String,String> map = new HashMap<String,String>();
public static void main(String args[]){
SubThread sub = new SubThread();
}
public synchronized HashMap<String,String> getData() {
return map;
}
private synchronized void setData(String data1, String data2) {
map.put(data1,data2);
}
private class SubThread extends Thread{
String strData1 = "Data1";
String strData2 = "Data2";
public void run(){
setData(strData1,strData2);
}
}
}
707:デフォルトの名無しさん
15/05/29 14:36:16.58 e13wdj/j.net
>>672
そういうことじゃない。
実装ごとにわけるのなら、抽象化はされず、1実装に1インタフェースとなる。
708:デフォルトの名無しさん
15/05/29 14:46:16.67 GbyQSdJL.net
>>677
getDataがmapを晒すと外から自由に排他なしでアクセスできてしまうからダメ
排他云々以前にコレクションをクラス外にそのまま出すのはpublicフィールド晒してるようなもんだから、
getDataは引数にキーを受け取って値を返す仕様にするべき
それならそのコードの排他は正しく機能する
709:デフォルトの名無しさん
15/05/29 16:01:19.97 b5ZezYht.net
Java初心者です。
jarファイ�
710:汲フexe化がうまく行きませんのでお知恵を拝借したいです。 exewrapでjarファイルをexe化しようとすると、 "Native executable java application wrapper.は動作を停止しました"とダイアログが表示されて途中で止まってしまいます。 jsmoothも試してみたのですが、"Saving exe..."のステップから進まなくなります。 jarファイル単体では普通に動作するのですが、これはjarの中身になにか問題があるのでしょうか? OSはVista、Javaはバージョン8、notepad++で書いております。
711:デフォルトの名無しさん
15/05/29 20:11:51.79 RfzJ1xHR.net
iniファイル解析クラス作ってみました。アドバイスお願いします。
URLリンク(notepad.cc)
712:デフォルトの名無しさん
15/05/29 20:20:52.35 /O9WcZmT.net
>>681
せっかく正規表現使ってるんだからキャプチャ使えばいい
713:デフォルトの名無しさん
15/05/29 20:52:10.88 RfzJ1xHR.net
キャプチャって何ですか?
714:デフォルトの名無しさん
15/05/29 21:02:39.74 qddcoV7p.net
そもそもパフォーマンスを保証したいならListでアップキャストせず、ArrayListで受け取ればいいだけの話
そのうちObject型にも文句付けそう
715:デフォルトの名無しさん
15/05/29 21:41:30.09 vNf0wM8U.net
>>681
iniフィアルなら、セクションに対応する必要があるよ
716: ◆QZaw55cn4c
15/05/29 21:41:32.94 bTG2Z02M.net
>>667
C++でイテレータパターンの演習にとトライしてみたが、なかなかうまく形にならない‥
717:デフォルトの名無しさん
15/05/29 21:43:27.41 bTG2Z02M.net
連続領域を必要とする ArrayList は嫌われものだと思っていたのだが、ここでは一択なんだね
今まで間違った感覚を持っていたのかな
718:デフォルトの名無しさん
15/05/30 00:02:38.75 IDV5NAFV.net
ArrayListの全要素を取得するのには、forか簡易forかイテレータを使う方法があると覚えたのですが、実際の場面ではどれを使うのがいいのですか?
719:デフォルトの名無しさん
15/05/30 00:38:07.46 86ur7FpL.net
foreach
720:デフォルトの名無しさん
15/05/30 01:43:50.24 +/L2wu74.net
>>678
どう読み間違えたらそうなるんだよ
例えばインターフェースに期待される要件があるとして、
実装はそれを満たさなくても、言語だけの制限では型にあわせる事だけはできる
けど、それは設計的には間違いでしょ
721:デフォルトの名無しさん
15/05/30 07:18:40.89 y5cl7Y1T.net
>>687
たかが要素数×8バイトの配列が問題になるような状況なら
LinkedListのメモリ使用量の多さやトラバースの遅さや
小さいオブジェクトが大量発生することによるGCへの悪影響の方が先に問題になるだろ
722:デフォルトの名無しさん
15/05/30 10:34:51.84 rQC0QNS1.net
>>690
勝手に期待してるの?
723:デフォルトの名無しさん
15/05/30 11:07:57.30 E4+c+dv0.net
メソッドの戻り値に複数の値を定義したくて
class Ref<T>{
private T val=null;
public void set(T t){val=t;}
public T get(){return val;}
}
このようなクラスを作りました。
メソッドの定義はこんな感じで、intを一つ渡すとstringとobjectがrefStringとrefAnyにセットされます
public hoge(int i,Ref<String> refString,Ref<Object> refAny){}
使うときは
Ref<String> resultStr=new Ref<String>();
Ref<Object> resultObj=new Ref<Object>();
hoge(100,resultStr,resultObj);
で、
resultStr.get();resultObj.get();と値を取得します。
この様なクラスってjavaの標準クラスの中にありますでしょうか?
また、このような書き方に何か問題はありますでしょうか。
c#のref構文が便利すぎて真似したのですが、javaでは需要が少ないのでしょうか
724:デフォルトの名無しさん
15/05/30 11:49:23.42 K6Aqd4ey.net
>>6
725:93 なかったはず。 自前で作るのが面倒ならジェネリクスと相性悪いけど配列使うとか、 目的外使用になっちゃうけどjava.util.concurrent.atomic.AtomicReference<V>使うとか。
726:デフォルトの名無しさん
15/05/30 15:14:42.98 SAlWoYO0.net
MP3の長さ取得を簡単にする方法ありませんかね?
727:デフォルトの名無しさん
15/05/30 17:34:09.91 aOrY5qKq.net
>>691
あらかじめ適切な長さがわからない状況で、再配置、再配置が繰り返されるのもどうかと思うが
728:デフォルトの名無しさん
15/05/30 17:48:26.36 +/L2wu74.net
>>692
お前さ否定のためだけにレスするのやめてくれない?
もしかしてマーカーインタフェースとか知らないのか?
729:デフォルトの名無しさん
15/05/30 18:57:58.78 rQC0QNS1.net
>>697
煽るだけのレスやめてくんない?
730:デフォルトの名無しさん
15/05/30 23:02:53.24 +/L2wu74.net
>>698
いやだからマーカーインタフェースとか知らないの?
731:デフォルトの名無しさん
15/05/31 00:58:56.72 Tte5i/+4.net
>>699
Listと何の関係が
732:デフォルトの名無しさん
15/05/31 00:59:41.83 Tte5i/+4.net
的外れの揚げ足取りが来るんだろうな
733:デフォルトの名無しさん
15/05/31 03:06:40.58 gPOjvzR+.net
>>701
元の人がListIteratorを生成するListじゃ、
一般的なリスト構造を期待するという流れで、こういう主張をしてるの
というかさ、なんでそう被害妄想的なの?
俺別に揚げ足取りしてないでしょ?
734:デフォルトの名無しさん
15/05/31 03:44:40.52 gPOjvzR+.net
>>700-701
勝手に同じ人として話進めるからね
>やり取りできるメッセージ(インタフェース)が一緒でも、性能が違ったら同じインタフェースにするべきでないって話?
>それ、実装が違えば性能違って当たり前なんだから、インタフェースの意味ないね。
>大きく違うからとか、主観の話かな。
これはマーカーインターフェースの存在で否定される
>実装ごとにわけるのなら、抽象化はされず、1実装に1インタフェースとなる。
こちらは実装を誤解のないよう、適切にIFに分離抽象化しろと言ってるだけで、
極端に突き詰めたインターフェースしか必要ない、という主張ではない
反論になっていないと思うよ
>Listと何の関係が
マーカーは言語機能的には名前だけで実装や仕様を縛る物
要するにパフォーマンス要件で分けてる
735:デフォルトの名無しさん
15/05/31 03:51:28.41 gPOjvzR+.net
編集途中で送信してしまった
要するに実装で分けるインターフェースを抽象化したもの
RandomAccessなどはパフォーマンス要件で分けてる
736:デフォルトの名無しさん
15/05/31 04:28:59.96 Tte5i/+4.net
>>703
自分で作れよ
737:デフォルトの名無しさん
15/05/31 04:35:01.10 gPOjvzR+.net
>>705
そうだね自分で作ってもいいね
で内容は同意できたの?
738:デフォルトの名無しさん
15/05/31 04:57:06.98 y0vichKB.net
そういうことをしたければ、インターフェースではなくテンプレートライブラリだよね
739:デフォルトの名無しさん
15/05/31 05:20:35.98 gPOjvzR+.net
>>707
できれば説明を頂きたい
Javaでの実例もあれば是非
740:デフォルトの名無しさん
15/05/31 09:05:41.55 y0vichKB.net
>>708
C++
741:デフォルトの名無しさん
15/05/31 09:08:59.44 gPOjvzR+.net
>>709
C++テンプレートは構造的サブタイピングなだけで
インターフェースはあるよ
というかその程度だとミックスインかブリッジかストラテジパタンーンで十分では
742:デフォルトの名無しさん
15/05/31 09:23:00.74 gPOjvzR+.net
語弊があったので訂正
ここで言ってるインターフェースというのは
Javaとほぼ同等な純粋仮想クラスという意味じゃなく、
テンプレートプログラミングにおいて同等な位置の型クラスというような意味です
あとパターンねパターン
743:デフォルトの名無しさん
15/05/31 10:43:59.62 XhIDATDmg
下の実行例のようなプログラムを組みたいんですがエラーが出てコンパイル通りません、Arrays.sort(array);あたりが間違っている、と出ます
*/
import java.util.*;
public class q12146166122 {
public static void main(String[] args) {
try {
if(args.length != 3) {
throw new IllegalArgumentException();
}
int[] array = new int[args.length];
for(int i = 0; i < array.length; ++i) {
744:array[i] = Integer.parseInt(args[i]); } Arrays.sort(array); // System.out.println(Arrays.toString(array)); System.out.printf("min=%d max=%d\n", array[0], array[array.length - 1]); } catch(NumberFormatException e) { System.err.println("ちゃんと整数を入力してください"); } catch(IllegalArgumentException e) { System.err.println("コマンドライン引数の数は3つにしてください"); } } }
745:デフォルトの名無しさん
15/05/31 10:44:27.66 XhIDATDmg
>>712
実行例
// javac q12146166122.java&&java $_:r 3 1 2
// min=1 max=3
// javac q12146166122.java&&java $_:r 3 1
// コマンドライン引数の数は3つにしてください
// javac q12146166122.java&&java $_:r 3 1 2 4
// コマンドライン引数の数は3つにしてください
// javac q12146166122.java&&java $_:r 3 1 a
// ちゃんと整数を入力してください
// javac q12146166122.java&&java $_:r 3 1 3.4
// ちゃんと整数を入力してください
746:デフォルトの名無しさん
15/05/31 11:24:50.71 rPrQit5P.net
学生で実務経験がなく本で勉強してるから
理屈はわかるけど存在意義がわからないものがある
インターフェースと抽象クラスって座学で勉強する分には
違いがよくわからないけど実際の案件ではどういうところで使い分けるの?
それがわからないからピンとこないのよな・・・
747:デフォルトの名無しさん
15/05/31 11:29:41.49 y0vichKB.net
>>714
たしかに使い分けや適用はわからないな‥どちらもそのままでは実体をつくれないし
純粋仮想関数のみのクラスと純粋仮想関数・実体が混在したクラスか
748:デフォルトの名無しさん
15/05/31 12:26:14.56 bzJLQWqx.net
java の場合 interface は多重継承できる
結局メモリ効率とかその辺になるんじゃない
749:デフォルトの名無しさん
15/05/31 15:11:26.75 gPOjvzR+.net
抽象クラスって教科書?的にはテンプレートメソッドパターンで使うけど
インターフェース作って、newの時にその部分だけ委譲したほうが良い設計な気がする
というか本当は要らないんじゃ…
750:デフォルトの名無しさん
15/05/31 15:25:27.97 Tte5i/+4.net
>>706
自分の設計方針に合わないからと駄々をこねるのは同意できない。
751:デフォルトの名無しさん
15/05/31 15:27:46.68 gPOjvzR+.net
View関連クラスなど、上書き必須のメソッドAと、
同カテゴリだが必要に応じ使用者に上書きさせたいメソッドBを、
1つのモデル(オブジェクト)に同時に入れたい
この場合インターフェースでAの実装を分けると、
Bも上書きしたい場合に煩雑になるので、抽象クラスを使うべきだろう
というか、そういう物以外で使った覚えがない
752:デフォルトの名無しさん
15/05/31 15:29:21.13 gPOjvzR+.net
>>718
いえ、別に変える事を強制してるわけじゃなくて、
間違ってるよねと言ってるだけですので…
753:デフォルトの名無しさん
15/05/31 15:46:47.12 Tte5i/+4.net
>>720
標準的なものが偏った考えのための
濫用を避けるのは間違っていない。
754:デフォルトの名無しさん
15/05/31 15:51:28.34 gPOjvzR+.net
>>721
先程から具体性が全く無く、おっしゃってる意味がよくわかりませんね
というかレスを真面目に読む気も、まともに反論する気もないようですし、
レスしなくていいですよ?
私は飽くまで納得できる回答が欲しいだけで、同意が欲しい訳じゃないので
755:デフォルトの名無しさん
15/05/31 15:59:44.04 gPOjvzR+.net
一応再度説明しますが、主にインターフェースには適切なモデルが必要という主張
Listも間違ってる例であり、その理由は元の主張の人がおっしゃるように、
ListIteratorとListのgetメソッドの二者で相反する性能です
756:デフォルトの名無しさん
15/05/31 16:08:17.11 gPOjvzR+.net
つか元の人の話は円満に終わってるからもう良いや…
まともな回答用意してくれないだろうし
757:デフォルトの名無しさん
15/05/31 16:29:10.77 q5PmTIh8.net
間違ってるならJavaから削除されてるだろ
Javaにあるということは間違ってないということだ
758:デフォルトの名無しさん
15/05/31 18:10:08.48 Tte5i/+4.net
>>722
理解できない奴に設計どうこう言われるとはw
759:デフォルトの名無しさん
15/05/31 18:11:54.87 0vVDnOAL.net
>>725
・Vector, Hashtable
・java.util.Date
・ジェネリクス
間違ったままになってる例なんていくらでもあるぞ
760:デフォルトの名無しさん
15/05/31 20:28:04
761:.67 ID:G3SfhU6W.net
762:デフォルトの名無しさん
15/05/31 21:27:34.05 qPV1YjTV.net
>>728
httpについて勉強したら
763:デフォルトの名無しさん
15/05/31 23:24:03.26 PJ1dRWj9.net
プロトコルと通信そのものについて理解すればよい
最近のブラウザは通信内容をログで見られるからそれを見ると理解が早まるかも
764:>>690
15/06/01 11:51:32.31 f2uABRUu.net
MP3の長さを取得する方法を教えて下さい。
765:デフォルトの名無しさん
15/06/01 14:51:25.42 TPGCWh32.net
>>731
何で
「Java mp3 長さ」
とかで検索できないの?
766:>>690
15/06/01 16:14:38.08 f2uABRUu.net
>>732
検索したけど分かりませんでした。
767:デフォルトの名無しさん
15/06/01 16:22:51.05 UMivpJmj.net
>>733
検索語句をいろいろかえてアプローチしてみよう
java mp3 time では出てきたよ
768:デフォルトの名無しさん
15/06/01 17:19:02.91 kvym0ZUW.net
java mp3 再生時間 取得でも一発だった
769:デフォルトの名無しさん
15/06/01 20:36:41.31 vvPoWr//.net
もしかしたらバイト配列の長さかもしれない
770:デフォルトの名無しさん
15/06/01 21:40:22.35 11G427ei.net
常に3かも知れない。
771:デフォルトの名無しさん
15/06/01 21:45:29.00 vlY8tlqp.net
>>737
つまり "mp3".length() ということか
772:デフォルトの名無しさん
15/06/02 09:24:07.48 YqHMc328.net
例外の勉強を始めました
NullPointerExceptionをわざと発生させるために
String s = null;
System.out.println(s);
と書きましたが、実行結果は
null
と表示されてしまいました。
今度は
String s = null;
System.out.println(s.toString());
と書くと、ちゃんとNullPointerExceptionと表示されました。
System.out.println(s);で表示されたnullは、"null"という文字列が表示されたんですか?
何故toString()を付けないとNullPointerExceptionは発生しないんですか?
773:デフォルトの名無しさん
15/06/02 09:31:15.60 TiVQHj6x.net
>>739 ガッ
上の場合 System.out.printlnの中でnullチェックしていて、nullの場合"null"を出力している。
下の場合 s.toString()を呼び出した段階でぬるぽが発生している。
774:デフォルトの名無しさん
15/06/02 10:09:05.64 fY8oKJUs.net
>>740
ありがとうございます
引数に指定するだけなら問題ないけど、nullが入っている参照型変数のメソッドを呼び出そうとするとまずいんですね
775:デフォルトの名無しさん
15/06/02 14:18:28.86 ielQg8IH.net
>>741
いや、そのメソッドがnullのときに文字列に変換するロジックが入っているだけ。
Javaの標準ライブラリの仕様かどうかは知らん。
776:デフォルトの名無しさん
15/06/02 14:47:38.88 TCITNRhQ.net
>>741
メソッドの
777:引数にnullを許すかはメソッド毎に違う 多くのメソッドはnullが入るとヌルポになるし、ならないものはnullが入ったときの振る舞いの規定が書かれている
778:デフォルトの名無しさん
15/06/02 16:11:44.60 OqEOh02c.net
いやまあ言いたい事は合ってる
nullそのものに罪はないから引数で渡すのは問題ない
問題あるのはその引数がnullである事をチェックせずにメソッド呼び出しとかしようとした場合
nullってのは実態が無い事を意味するから実態の無い物のメソッドなんて呼び出せないからね
779:デフォルトの名無しさん
15/06/02 20:04:20.98 33LBbjfE.net
ところがC++では null でメソッドが呼び出せるのであった‥
780:デフォルトの名無しさん
15/06/02 20:05:47.28 FpmGmufg.net
インターフェイスと抽象クラスの違いが分からん
誰か教えて
781:デフォルトの名無しさん
15/06/02 20:51:25.92 0JJIk5xr.net
>>744
チェックして throw new NullPointerException することもあるけど。
IllegalArgumentか何かの方が適切という意見はあるだろう。
782:デフォルトの名無しさん
15/06/02 20:52:35.67 0JJIk5xr.net
>>746
インタフェース 設計図
抽象クラス 作りかけ
783:デフォルトの名無しさん
15/06/02 20:55:09.79 YQCK7f5I.net
>>746
インターフェースとクラス
784:デフォルトの名無しさん
15/06/02 21:58:07.96 f+1+rqjd.net
>>746
インターフェース:「ある特定のメソッド名・引数を持つメソッドを持っていること」しか保証できない。多重継承可能
抽象クラス:new出来ないことを除けば普通のクラスとほぼ同じ。メソッドを実装することができるしフィールドも持つことができる。クラスなので多重継承はできない
たとえば、呼び出すと標準出力に"a"と表示するprintA()メソッドをインターフェースと抽象クラスに持たせるとすると、
インターフェースでは本当に"a"が表示されるかどうかは実装者任せにするのしかないのに対して、
抽象クラスなら"a"を表示するような実装を書いてfinalを付ければ"a"を表示することを保証できる。
機能拡張を許したいならfinalを付けることはできなくなるから、結局実装者任せになってしまうが
785:デフォルトの名無しさん
15/06/03 00:23:54.45 QMuypoEX.net
よくわかんないなら常にインターフェースでいいよ
オーバーライドは一切使わなくていい
抽象クラスはクラスの実装を楽にするためのテンプレートみたいなもんと思えばいい
デザイン的にはインターフェイスほど重要なものではない
786:デフォルトの名無しさん
15/06/03 00:54:53.65 JJjq3/2D.net
>>748
>>749
>>750
>>751
サンクス
ID変わったけど739
787:デフォルトの名無しさん
15/06/03 18:31:40.92 Ak9FiYn5.net
springを勉強しようと思います。
spring Frameworkの本を買いたいと思うのですが
SpringFramework4プログラミング入門
Spring MVC/Roo プログラミング入門
どちらがいいでしょうか?
教えてください。
よろしくお願いします。
788:デフォルトの名無しさん
15/06/03 21:50:52.69 t5oyJCvB.net
URLリンク(s2.etowns.slyip.net)
phpの宿題よろしくお願いしますm(__)m
789:デフォルトの名無しさん
15/06/03 21:56:04.18 irHiNqHV.net
めちゃくちゃ
790:!ichigo
15/06/04 00:06:02.65 6MSMPfiJ.net
>>754
C/C++の掲示板に投げた上にマルチポストってことか
お前が行ってる学校は義務教育じゃないだろうからわかんないなら辞めればいい
親の金をドブに捨てる必要もないだろう
791:デフォルトの名無しさん
15/06/04 00:06:34.54 6MSMPfiJ.net
名前欄ミスって恥ずかしい
792:デフォルトの名無しさん
15/06/04 20:28:54.64 Uxwo/UOa.net
正規表現で
その行が「文字列=文字列」かを調べるのは
[.[^=]]+=[.[^=]]*
であっていますか?
793:デフォルトの名無しさん
15/06/04 20:33:42.61 xuWz3vjX.net
^[^=]+=[^=]+$
794:デフォルトの名無しさん
15/06/04 20:41:11.26 Uxwo/UOa.net
>>759
「文字列=」もtrueにしたいので
^[^=]+=[^=]*$
でいいです�
795:ゥね?
796:デフォルトの名無しさん
15/06/04 22:25:03.04 ++ODO9QU.net
初心者の俺には悪ふざけ顔文字にしか見えない
797:デフォルトの名無しさん
15/06/04 22:37:26.51 eZ6vZki5.net
久しぶりにコマンドラインからJavaをやろうとしたら
うまくいかないので、以下のHello.javaを作って
コンパイル、実行すると以下の通りでした。
2号機のほうにもJavaを入れ(SE8-45)
コンパイル、実行するとうまくいきます。
思い当たるのは1号機の方にNetBeansと
GlassFishを入れたことです。
NetBeansなどが入ったマシンで
cmd.exeから実行するにはどうすればいいですか。
----------------------------
Hello.java
class Hello{
public static void main(String[] args) {
System.out.println("Hello");
}}
798:デフォルトの名無しさん
15/06/04 22:41:35.02 eZ6vZki5.net
以下、1号機(Windows7-pro)でのコンパイル、実行です。
C:\dev\java\study>javac Hello.java
C:\dev\java\study>dir
ドライブ C のボリューム ラベルがありません。
ボリューム シリアル番号は 10D2-49BD です
C:\dev\java\study のディレクトリ
2015/06/04 22:17 <DIR> .
2015/06/04 22:17 <DIR> ..
2015/06/04 22:17 401 Hello.class
2015/06/04 22:07 226 Hello.java
6 個のファイル 1,945 バイト
2 個のディレクトリ 335,030,054,912 バイトの空き領域
C:\dev\java\study>java Hello
エラー: メイン・クラスHelloが見つからなかったかロードできませんでした
C:\dev\java\study>