トップページ⇒tech
277コメント63KB

やっぱ多重継承無いからjava糞だわ。

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
複数のクラスを中身いじらずにいっぺんにテストしたいんだけど、
多重継承が無いからテストクラス作れねーよ。
settergetterの無いフィールドの受け渡しができねーんだよ。
あっちこっちにテストクラスつくるのは嫌なんだよ。
多重継承があれば一箇所でスマートにできるのによ。糞javaが。
0002デフォルトの名無しさんNGNG
オマエが糞
0003デフォルトの名無しさんNGNG
テスト奨励するなら多重継承させろやチンカスjavaが
0004デフォルトの名無しさんNGNG
>>1を処刑してもいいですか?
0005デフォルトの名無しさんNGNG
いいですが、次の処刑は貴方です
0006デフォルトの名無しさんNGNG
>>1が肥溜に落ちたスレはここですか?
0007デフォルトの名無しさんNGNG
ばいざうぇいらっきんぐまるちぷるいんへりたんすじゃばいずしっと
0008デフォルトの名無しさんNGNG
なんで多重継承しなきゃならんのよ?
0009デフォルトの名無しさんNGNG
(゚□゚)/オオー
0010デフォルトの名無しさんNGNG
つまり、>>1 がウンコ
0011デフォルトの名無しさんNGNG
>>1
なるほど。よくわかったよ。
 
 
 
 
 
 
 
 
 
 
 
 
 
                                             2行目から読んでないけど。
0012デフォルトの名無しさんNGNG
>>11 縦読みです
0013デフォルトの名無しさんNGNG
継承したところでprivateなフィールドにはアクセスできんぞ。
0014デフォルトの名無しさんNGNG
>>1
インナークラス使いこなせないアフォが、よくそういうこと言うよな。
インナー使えば殆ど同じことになるのに。
0015デフォルトの名無しさんNGNG
どうも1はis-aとhas-aも知らんらすぃ
0016デフォルトの名無しさんNGNG

  ○ <コシヒカリッ!
―┼―
┌┴┐
0017デフォルトの名無しさんNGNG
・・・んで?
0018デフォルトの名無しさんNGNG
C++ の std::basic_fstream を見よ。
立派に多重継承が使われておるではないか。
0019デフォルトの名無しさんNGNG
>>1
リフレクションを知らない馬鹿発見。
0020デフォルトの名無しさんNGNG
>18
だから、どうだってのよ?
0021デフォルトの名無しさんNGNG
結局いちいちテストクラスをそれぞれのパッケージにいれるしかない
やつらは開き直って、テストクラスも一緒にいれてテストしまくるのが
良いんだとかほざいてるが。
0022デフォルトの名無しさんNGNG
refrection でプライベートメンバにアクセスするのはダメ?
個人的には プライベートメンバにアクセスできないと
テストできない、ってのは いまいちスマートじゃないと思うけど、
そこんとこ 1 はどー思ってんだろ。
0023デフォルトの名無しさんNGNG
reflectionだ。 鬱死
0024デフォルトの名無しさんNGNG
>>1
Javaがゴミなのは今更言わなくてもみんなわかってるよ。
0025デフォルトの名無しさんNGNG
>>25

じゃあ何がイイの? まさか C# とか?
0026デフォルトの名無しさんNGNG
>>25
あなたは何も分かってないようだね。
C++をとことん勉強しなさいそして心の病気になりなさい
そうすればC++を崇拝するようになるから
0027デフォルトの名無しさんNGNG
>>25
自問。いいねえ。
0028デフォルトの名無しさんNGNG
Javaだめだな
0029デフォルトの名無しさんNGNG
settergetterの無いフィールドはテストすべきなんだろうか。
0030デフォルトの名無しさんNGNG
場合によるんじゃない?
隠蔽がキツイ場合は それしか方法がない
場合もあるかもしれんし。
0031中日ファン@阪神に連勝モードNGNG
>>25
C#も多重継承はないけど・・・いいよ〜言語仕様読んでてとろけそうになった

ところで多重継承の使える言語ってC++以外だと何があるのかな
俺が知ってるのは Eiffel だけなんだけど
0032デフォルトの名無しさんNGNG
>>31
Satherは?(w
あとCLOSとか。
意外なところでPythonとPerlとか。
0033デフォルトの名無しさんNGNG
DelphiのObjectPascalもJavaと同じようなクラスモデルですけども
implementsがあるおかげで多重継承に近い真似ができますよ。
0034デフォルトの名無しさんNGNG
C#ってテンプレートあるの?
文面がCにより近いJavaだという認識しか無いんだが
0035デフォルトの名無しさんNGNG
リフレクションだと、親クラスが持つpublicじゃないフィールドにアクセスできなかった。
自分自身が持つフィールドならprivateでもアクセスできたけど。
しかしこれではカプセル化が破綻してるのではないか。
0036デフォルトの名無しさんNGNG
>>34
次のバージョンで実装されるという噂
0037デフォルトの名無しさんNGNG
>>31
もれも最初はとろけた。
そして次第に不満な点も見えてきた。
そういうもんだ。
0038デフォルトの名無しさんNGNG
>>35
ハァ?

ところで、みんな知ってるのか?
java.lang.reflect.AccessibleObject#setAccessible(boolean)
完璧な隠蔽破壊をおこなう悪魔のメソッド。
0039デフォルトの名無しさんNGNG
>>38
やっぱり反論できねーのか(プププ
004038NGNG
>>39
ワケワカ。アタマダイジョウブデスカ?
0041デフォルトの名無しさんNGNG
やっぱりJava厨はイタいな
まともなレスもできねえのか(藁
0042デフォルトの名無しさんNGNG
>リフレクションだと、親クラスが持つpublicじゃないフィールドにアクセスできなかった。
ハァ?

>自分自身が持つフィールドならprivateでもアクセスできたけど。
ハァァ?自分のフィールドにアクセスするのにリフレクション?

>しかしこれではカプセル化が破綻してるのではないか。
ハァァァァ?意味不明。分かってないでしょ、あんた。
0043デフォルトの名無しさんNGNG
javaが糞なのは当然なのでこのスレは終了しますた。
0044こりゃ毎日永久ageだな…NGNG
>>42
なんだ日本語が読めないのか。
javaを使うと頭が悪くなるようだな。
0045デフォルトの名無しさんNGNG
>>43
×java
○>>43の脳みそ
0046デフォルトの名無しさんNGNG
>>44
日本語は読めますが、ドキュソのたわごとの真意は測りかねます。
0047デフォルトの名無しさんNGNG
ハァァァァ Ruby >>>>>>>>>>>>>>>>>>>>>>>>>>>>> Java
004838=42=46NGNG
しまった、ネタに煽られた。逝って来ます。
0049デフォルトの名無しさんNGNG
Javaはドキュンが多い
これ定説
0050デフォルトの名無しさんNGNG
会社の厨房Java信者うざい
みんなひきまくってる
0051デフォルトの名無しさんNGNG
Ruby!!
0052デフォルトの名無しさんNGNG
いずれJava厨もブビ厨やルビ厨と同列扱いされる日も来るな。
0053デフォルトの名無しさんNGNG
>>52は必ず当たると評判の預言者
0054デフォルトの名無しさんNGNG
>>52
とはいえ>>52ほどのアフォにはならないと思われ。
0055デフォルトの名無しさんNGNG
継承使うほうがアフォ。
単体テストすんのはもっとアフォ。
0056デフォルトの名無しさんNGNG
>>55
C しかできないジジイですか?
0057デフォルトの名無しさんNGNG
age

0058デフォルトの名無しさんNGNG
>>50
どっちかっつーと、ひかれてるのは>>50のほうだと思われ。
0059デフォルトの名無しさんNGNG
>>58はアフォですね?
0060デフォルトの名無しさんNGNG
>>50
ひくといわれると轢くという言葉がまず思い浮かぶな。
会社の Java 厨房を集団轢殺する宣言かと思ったよ。
0061デフォルトの名無しさんNGNG
Java厨必死だな(藁
0062デフォルトの名無しさんNGNG
>>61
必死になってあげてます。
0063デフォルトの名無しさんNGNG
>多重継承があれば一箇所でスマートにできるのによ。
C++の多重継承じゃできないな・・・・
0064デフォルトの名無しさんNGNG
869 名前:名前は開発中のものです。 02/04/19 10:46 ID:???
>>865
言語に優劣は無いのれす。
開発者の能力による結果の優劣が出やすいかどうかなのれす。

言語に文句をつけるヤシは
「俺が勉強できないのはノートと鉛筆が悪いからだ!」
と言ってるのと同じなのれす。バカを晒しているだけなのれす。憐れれすねー。
0065デフォルトの名無しさんNGNG
>>1
Reflection使えばいいじゃん
0066 NGNG
あの〜>>1〜へとぉ気ままにreflection♪

0067デフォルトの名無しさんNGNG
Ruby!
と叫んだところで、Rubyにも多重継承無いんだけど、
Ruby厨って何がしたいの?

ついでに、Rubyにはprivateだろうがアクセスできる破壊的な方法が存在する。
0068デフォルトの名無しさんNGNG
糞スレ立てる前に「Java で private メンバにアクセスする方法は
ないですか?」って聞けば莫迦を晒さなくてすんだのにな (w
0069デフォルトの名無しさんNGNG
Submarine Reflection!
0070デフォルトの名無しさんNGNG
>>68
そういう単発質問スレを立てるとみた。
0071デフォルトの名無しさんNGNG
>>67
mix-in は制限された多重継承だよ
0072デフォルトの名無しさんNGNG
intarfaceの中に実装も書ければ良いんだけどねー
テンプレートみたいにimplimentする側で、コードが展開されるっていうやつで。
0073デフォルトの名無しさんNGNG
class Hoge{
 class Asub extends A{}
 class Bsub extends B{}
}

こうすりゃ多重継承と同じことが出来るってば。
この話題終了しろ。
0074デフォルトの名無しさんNGNG
>>1
JavaでC++と同じことが出来ないからといって
糞扱いはないんじゃないの?
別物だと考えることは出来ないのか?
おまえの考えだと言語がすべて同じ考えで作られていないといけないようで
それこそおかしい
0075デフォルトの名無しさんNGNG
>>73
インナークラスは多重継承とは使いどころが違う気がするのですが‥‥。
0076デフォルトの名無しさんNGNG
>>75
うむ。どうやってHogeを親クラスにキャストするんだ。
0077デフォルトの名無しさんNGNG
interfaceは多重継承です。
インターフェイスだけしか継承できませんがね。
0078デフォルトの名無しさんNGNG
多重継承使いたがる奴はクラスをオブジェクト指向的に扱っていない背教者。
0079デフォルトの名無しさんNGNG
>>78
あほ!勉強しろ、オブジェクト指向って7パターンあるの知ってるか?
多重継承しないって方法はその1つでしかないのだよ
それをJava,C#とも採用しているだけのこと
0080デフォルトの名無しさんNGNG
70's-80's goto 文不要論
90's- 多重継承不要論
0081デフォルトの名無しさんNGNG
00's オブジェクト思考言語不要論 (藁
0082デフォルトの名無しさんNGNG
C++用設計しといてJavaで実装するなよぉ
0083デフォルトの名無しさんNGNG
>>79
その本?書いた奴が背教者なだけ。
0084デフォルトの名無しさんNGNG
>>78
>クラスをオブジェクト指向的に
これって、どういう意味?

>>79
>オブジェクト指向って7パターンあるの知ってるか?
えっ。7パターン?初耳です。
どんなパターン?教えて。
0085デフォルトの名無しさんNGNG
>クラスをオブジェクト指向的に

オブジェクト指向的なクラスとは、意味的にモノとして明確に捉える
ことができる。
そうじゃないのは手続きの集合だかアルゴリズム集だか
判らないような体裁を成している。

多重継承やりたがる奴はCの#include代用として使っているにすぎず、
オブジェクトとしての体裁がなっていない。
008684NGNG
>>85
人間がよく使っているオブジェクトは、複数の要素を持っていることが多い。
だから各要素にバラバラにしてから多重継承するのが、正しいような気がする。

ただし多重継承は構造的欠陥が多い。
適用できる場面は、かなり少ない。
0087デフォルトの名無しさんNGNG
本読んで分かった気になってる馬鹿ども、分かってるか?
オブジェクト指向プログラミングでは、そう簡単に継承すべき
じゃないんだぞ。

実装を継承したい場合→出来る限りコンポジションにしろ。
概念を継承したい場合→スーパークラスはInterfaceにしろ。スーパークラスに実装すんな。

極言すれば、ポリモルフィズムが必要な局面以外では、継承は必須ではない。
にもかかわらず継承しなければ実装できないような場合、設計がミスっている事も多い。
0088デフォルトの名無しさんNGNG
>>87
>実装を継承したい場合→出来る限りコンポジションにしろ。
しかたなく、やってますよ。
しかも、コンポジションするための処理を委譲するだけのコードが
全体の大半を占めてしまうんですよ。
でも、これって正しい方法なんでしょうか?
どうも無駄じゃないかなーと思っています。

自動的に処理を委譲(forward)してくれる機能があったらなーと思ってます。
ただ、それだけ。
0089デフォルトの名無しさんNGNG
>>88
delgeteを言語仕様に取り込んでいる言語もあるね。

Javaでそのように記述するのは言語仕様なんだから、諦めれ。
関数コールのネストが深くなるのは、オブジェクト指向プログラミング
のメリットと引き換えになっているコストだから、気にすんな。

Swingなんか使っていると、大抵イベントディスパッチスレッドは
フレームスタック長15〜20までいってるよ。
0090デフォルトの名無しさんNGNG
じゃヴぁが糞なのは
多重継承じゃなくってdelegateがないことだな。
0091デフォルトの名無しさんNGNG
>>89
delegateねー。いいねーあれ。
でも名前が違うと結局委譲用のコード書かなきゃいけない。
かなしー
0092デフォルトの名無しさんNGNG
>>91
あんまり委譲専用メソッドが沢山になって、それらが結局同じオブジェクトへ委譲
しているだけだったら、それをコールしているほうのオブジェクトに委譲先オブジ
ェクトの参照を渡してしまって、コールしているメソッドはその参照を使って
直接そのメソッドをよんでもらうようにして、綺麗さっぱり委譲専用メソッドを削除
する方法も、あるにはある。但し、クラス設計上の所有関係を破壊する可能性があるの
で気をつけれ。やりすぎると相互参照関係がぐちゃぐちゃになる。
0093デフォルトの名無しさんNGNG
>>92
結局、この世ってむずかしー
という、つまんないオチになっちゃうんですかねー
0094デフォルトの名無しさんNGNG
>>93
そうそう。責任たらいまわししたところで、結局誰かが
責任とって作業しなければ、何も動かないということ。

ところがみずぽの連中とか、政治家とか、ウチの上司どもとか…
0095デフォルトの名無しさんNGNG
Javaは委譲のコードを大量に書かなくちゃならんからクソだわ。
0096デフォルトの名無しさんNGNG
全てstaticで解決。っと。
0097デフォルトの名無しさんNGNG
pythonってどうなんですかね?
オブジェクト指向言語的に。
0098デフォルトの名無しさんNGNG
>95
でもそういうのはIDEが支援してくれるならそれでOKとは思う。refactorツール
なんかであったような。
0099デフォルトの名無しさんNGNG
>>96
アホー。
0100デフォルトの名無しさんNGNG
100げとずざー
0101デフォルトの名無しさんNGNG
それは設計が悪い、は設計が悪いスレッドでも立ててやっとくれ。
0102デフォルトの名無しさんNGNG
話は戻るが、>>1はなんでテストに継承を使おうと思うわけ?
ていうか、普通にJava使ってたら、継承なんか滅多にしないと思うんだが。


山ほどinterface使うけど。楽なのよ。型と実装を分離すんの。
0103デフォルトの名無しさんNGNG
て言うか5分経ってもスレ一覧がピクリとも動かないこの板って・・・
0104デフォルトの名無しさんNGNG
>>103
何か?
つかsageが多いって話もあるかと。
0105デフォルトの名無しさんNGNG
ほんとjava糞だわ。
0106デフォルトの名無しさんNGNG
>>99
なんで?
0107102NGNG
マジな話、>>1は多重継承を使って、
どうやってprivateメンバのテストをするつもりだったんだろう・・・
ていうかそもそも、テストするクラス全部を継承すること自体
C++でも想像できん…
0108デフォルトの名無しさんNGNG
>実装を継承したい場合→出来る限りコンポジションにしろ。

最初に継承を知ったとき、これは便利だー!と思ったけど、結局これなんだよね・・
0109デフォルトの名無しさんNGNG
>>108
実装継承をコピペの代わりに使うと、パッと見無駄コードが簡単に減らせて
よいような気がするけど、無考えにそれやるとあとでかえって大変なんだよね。

オブジェクト指向プログラミングでは、オブジェクト指向を全うする為に
コード量が増えるのは、肯定しなけりゃならないのかな。
(もしかしておいらがC++系統に染まってるだけかな?)

それをしないですむようなシンタックスシュガーが、delegeteだったり
するわけだねー。
0110デフォルトの名無しさんNGNG
template じゃダメかなぁ?
0111デフォルトの名無しさんNGNG
>コード量が増えるのは、肯定しなけりゃならないのかな。
ちなみに、戦場スレでは、局所的にコードは増えるが、全体では減る、って
いう意見が出てたようで。
0112デフォルトの名無しさんNGNG
delegeteってナンダ?
サンプルコード書いてみよ
0113デフォルトの名無しさんNGNG
>>112
Javaにはないです。
0114デフォルトの名無しさんNGNG
>>113
なくてもいいから、てきとーにかいて
0115デフォルトの名無しさんNGNG
>>114
無茶言うな(藁
0116こりゃこりゃNGNG
Javaに対する不平不満は、もともと期待し過ぎてることにあるぜ。
あれは最初から、完全なオブジェクト指向言語を目指していなかった。
もともと、SUNのジェームスゴスリングのグループが実験に用いていた
C++があまりにも使いにくかったので、あれから複雑な機能を省いて
C++−−と呼んでいたものが起源だ。その後に改良を得て、内部構造
はLispで構文的にはCのプログラマー向けにできている。
この話はSUN本社の関係者から聞いたが、本当だと思う。

もともと不完全なオブジェクト指向言語で、便利なライブラリを増やす
ことで多機能を実現しようとした比較的単純な言語だと思えば、なかなか
ものだと見えるが、どうだろう?
ただし、売り物にされている中間コードの生成?とやらは、どうも今の
ところ中途半端なものになってるか? まあ、これは業界の政治的な
問題かな。
0117デフォルトの名無しさんNGNG
JavaがC向け?
ハッおかしな話だ。
あんな配列の確保の仕方ねーよ
0118デフォルトの名無しさんNGNG
>あれから複雑な機能を省いて
何を省いたか列挙してみなよ

>もともと不完全なオブジェクト指向言語で
どこが不完全なんだ?

>今のところ中途半端なものになってるか?
どこが?

前半は比較的正しいけど、
後半は・・・プ
0119デフォルトの名無しさんNGNG
>118 どーでもいいが建設的な情報が1bitもないぞ。
お前はただ揚げ足とりたいだけなんとちゃうかと
一時間といわず問い詰めたいぞ。
0120デフォルトの名無しさんNGNG
私の大学(情報工学科)では 3年で Java を学びます。
何故 3 年で C++ でなく、Java を学ぶのかと聞くと、「オブシェクト指向
プログラミングを学ぶため、そして Java にはポインタがないから分かりやすい」
という答えがかえってきました。
ポインタがないことは本当に Java の利点なのでしょうか?
0121デフォルトの名無しさんNGNG
チンポがない女性は包茎でなやまないでしょ
0122デフォルトの名無しさんNGNG
>>120
すくなくともCみたいにメモリ破壊のバグで頭かかえることはないよ。

ただし、メモリ破壊を起こすような
キケンな操作を制限されてはいるが
ポインタの相当品ならあるぞ。(だからツリーもリンクリストも作れる)

それをなんと呼ぶかで毎回くだらない論争が起きるが
言語仕様書の用語定義の問題でしかない。(と最初に釘をさしておく)
0123デフォルトの名無しさんNGNG
>>120
「利点」という言い方がイヤなら
「特徴」と言い換えれば納得しますか?
0124デフォルトの名無しさんNGNG
やっぱリフレクション無いからC++糞だわ。

複数のテストメソッドをいっぺんにテストしたいんだけど、
リフレクションが無いからテストメソッドの自動登録ができねーよ。
メソッド関数ポインタを使わないテストの受け渡しができねーんだよ。
テスト実行元にテストメソッド呼び出しつくるのは嫌なんだよ。
リフレクションがあればコンストラクタ渡しのみでスマートにできるのによ。糞C++が。

とか言ってみるテスト。
0125デフォルトの名無しさんNGNG
リフレクションってな〜に?

って、ああアフォJavaの機能か。
スクリプト言語はPerl以外使ったこと無いから知らないねぇ(w
0126デフォルトの名無しさんNGNG
適材適所という言葉を理解できない奴はプログラマやめろ
0127デフォルトの名無しさんNGNG
Javaってどういう場面で適材なのですか〜
無知は漏れに教えてくださーい
答えられそうもなさげだけど(プ
0128デフォルトの名無しさんNGNG
納得のいくようにお願いしますよ
0129デフォルトの名無しさんNGNG
> とか言ってみるテスト。

このフレーズ何なんだろうね。最近真似てる奴多いけど。反論されたくないっ
てことか。。。?
0130デフォルトの名無しさんNGNG
>120
ポインタがないと言うより、オブジェクトの実体を表す変数とポインタ変数の
区別をしなくてすむからでしょ。教えるには楽だよね。
0131デフォルトの名無しさんNGNG
>124
あんまり知らんけど、C++でもRTTIつかえるっしょ?
0132デフォルトの名無しさんNGNG
あーらら
結局このざまかよ
さっさと氏ね>>126
0133デフォルトの名無しさんNGNG
厨房レベル上昇中。
0134デフォルトの名無しさんNGNG
ことム板においては連続で書き込みまくってる奴のほうが
 仕事してない→ヒッキー→社会不適合者→ごみ
と思われる罠(w
0135デフォルトの名無しさんNGNG
で。
>>1はいつになったら出てくるの?
継承使ってどうやってprivateメンバのテストするって?
0136デフォルトの名無しさんNGNG
Javaは自分の厨房っぷりを見せるのに便利です
適材適所とはそういうことです

マトモな人は(以下略
0137デフォルトの名無しさんNGNG
多重継承は犯罪です
0138デフォルトの名無しさんNGNG
BoAたん>>>Java
(;´Д`)ハァハァー
0139デフォルトの名無しさんNGNG
Javaは多重継承できないんだっけ?
0140デフォルトの名無しさんNGNG
>>131
C++のRTTIは型キャストと型名取得にしか使えんです。微妙に役立たず。
いや、キャストはそれはそれで有用なんだけどね。もっとこう・・・なんていうか。
>>129
たぶん反論を予期していて弱気になってる感じ?断言を避けるのと似てる。
0141そりゃそうだNGNG
Javaがポインタが無いから分かりやすいというのはプログラム初心者にとって
本当かもしれんが、Javaの継承の機能などは、ありゃ結局はCのポインタじゃ
ないのか、という人が多い。
オブジェクト指向というものには、最初から明確な定義などないから、完全も
不完全もないと思う。Javaのそれが、中途半端なものなのは確かだよ。
俺はSmalltalkを使ったことあるけど、あれは習得に時間がかかり過ぎて困った。
完全なるオブジェクト指向の言語がいいとは限らんだろう。Rubyなどは、
機能的には完全だと言われているが、構文は手続き型に近い。
Smalltalkにも最初は多重継承機能があったが、問題が多くて無くした
そうだぜ。あの機能は、問題があるようだ。Rubyでも実装されていない。
まあ、それにしても、Javaは世間に多い糞言語の1つなのは本当かもしれん。
でもまあ、使う用途が多いのと、動く環境が多いだけでも、現状ではいいものだと
思うぜ。世間一般に使われている言語なんて、糞だらけだじゃないのか?
0142デフォルトの名無しさんNGNG
>Javaの継承の機能などは、ありゃ結局はCのポインタじゃ
>ないのか、という人が多い。

お前だけ。
0143デフォルトの名無しさんNGNG
>>141
文章の脈絡のなさよりもさることながら、
小話だけ半角で他が全角なのは気になった。

それはさておき
>Javaの継承の機能などは、ありゃ結局はCのポインタじゃないのか
継承=ポインタ? それは聞いたことがない。
参照変数を「(Cの)ポインタだ!」という人はいるが、
とりあえずVMの仕様書を10回朗読しろって感じ。

>世間一般に使われている言語なんて、糞だらけだじゃないのか
世間一般に使われていない、糞じゃない言語を教えてくれ。



あ、ちなみにJavaが完全なオブジェクト指向じゃないって
言われる所以は、もちろんプリミティブ型の存在ね。
小話の極端な文法はちょっと…という教訓に基づく妥協策みたいなもんだ。
0144143NGNG
ふと思ったが、
>参照変数を「(Cの)ポインタだ!」という人
ってのは、C言語を知らない人が言ってる可能性もある罠。
0145デフォルトの名無しさんNGNG
> 世間一般に使われていない、糞じゃない言語を教えてくれ。

DelphiとRubyを知らないのか?
0146デフォルトの名無しさんNGNG
>145
Delphiはオブジェクト指向機能もあるが、
どっちかというと糞言語ですが、なにか?
C/C++の方が(出来ない奴にとって。要するに大部分の人間にとって)糞になり得るから
陰に隠れているだけで、別段Delphiが優れているわけではない。

Delphiというか、ObjectPascalね。
0147デフォルトの名無しさんNGNG
>>143
Cのポインタではないけれど、NullPointerExceptionというのはあるのよね
0148デフォルトの名無しさんNGNG
オブジェクト指向そのものが、完璧な思想じゃないからな。
ちょっと使えないからってクソ呼ばわりしてると、みんなクソ。
でも昔はクソだったN-BASICも今では可愛いもんだ。
エージェント指向なんつーのが台頭してきたら、
C++もDelphiも可愛く見えることだろう。

特に主張なしスマソ
0149デフォルトの名無しさんNGNG
Eiffelは多重継承使っても問題ないけど。
0150デフォルトの名無しさんNGNG
実は糞なのは使う側の人間という罠。
0151デフォルトの名無しさんNGNG
その糞に使えてこそ優良な言語
0152デフォルトの名無しさんNGNG
CDプレイヤに向かって「映画見れねーじゃねえかこの糞!」
というのは馬鹿のやることだよ。
0153デフォルトの名無しさんNGNG
>>152
別に、CDプレイヤに向かって「映画見れねーじゃねえかこの糞!」と言うのはかまわんと思う。
でも、「CDプレイヤは映画見れねーから糞だ!」と書き散らすのはアフォ。
0154デフォルトの名無しさんNGNG
Cのポインタと、Javaの参照をちゃんと理解すれば、
比較するとどーだとか言う必要がなくなるのに。
0155デフォルトの名無しさんNGNG
多重継承なんて出来たらJavaなんかとっくにやめてるよ
0156デフォルトの名無しさんNGNG
映画まで行くと行き過ぎな気がするな。
「このCDプレイヤはCD-TEXTに対応してないから糞」というくらいだと思う。
0157デフォルトの名無しさんNGNG
実はDVDプレーヤに「リージョンコードクラックできないから糞」といってるのかも。
0158152NGNG
>>157
あまりにうまい。
0159デフォルトの名無しさんNGNG
>>1
いい加減出てきてどうやって継承でprivate以下略
0160デフォルトの名無しさんNGNG
>>159 同意。
0161デフォルトの名無しさんNGNG
javaはC系の言語ではありません。
0162デフォルトの名無しさんNGNG
>>1
おとうさん・・・
時代はかわったのよ・・
0163デフォルトの名無しさんNGNG
javaが糞というのは紛れもない事実だからいいとして、
糞を踏まないようにするにはどうすればいいかを考えればいい
ただし、先人がいろいろ考えてくれてるから、車輪の再発明にならぬようにな。
0164デフォルトの名無しさんNGNG
>>163
目くそ、鼻くそを笑うってゆー奴ですか?
0165デフォルトの名無しさんNGNG
理想論ばっかり言ってると一生冷や飯食いだぞ(冷笑
0166デフォルトの名無しさんNGNG
もし、Itanium?とかUltra Sparc II?みたいに64ビットCPUが
主流になっても、JAVAのINTは32ビットなのだろうか?
0167デフォルトの名無しさんNGNG
>>1が多重継承を使って何したいのか知らんが
インターフェースではだめなのか?
インターフェースをうまく使っている人って
Java暦長いやつでもあんまりいないんだよな
0168デフォルトの名無しさんNGNG
>>165

漏れの知り合いに熱いご飯が食べられなくて、炊き立てのご飯をわざわざ冷やして
食べてるのが居るんですけど。
いや、比喩でなくてマジなんですよ。
0169 NGNG
>>166
64bit sparc用のCコンパイラでもintは4byte

そもそもCとかで型の大きさを意識した移植性のないプログラムが
多すぎるのを反省してjavaは大きさを固定で決めたんだろうから
そこは絶対変わらんと思う。
0170デフォルトの名無しさんNGNG
むしろ、C/C++ の64ビット整数の名称の方をさっさと統一して欲しいかも。
0171デフォルトの名無しさんNGNG
統一だったらint64_tしかねーじゃん
0172デフォルトの名無しさんNGNG
int64_tの_tってーのが醜いなー
int64に統一できんのけ?
0173デフォルトの名無しさんNGNG
size_t とか time_t とか div_t と同じノリだろ。命名について深く考えちゃいかん。
0174デフォルトの名無しさんNGNG
[size_t とか ]
俺も最初はまいったね
こんな命名自分でよく書いてるから
標準のやつだなんて一見わかんなかったよ
0175デフォルトの名無しさんNGNG
んじゃこれからは std::size_t って書く?一見して標準だとわかり
0176デフォルトの名無しさんNGNG
いえ、僕の命名規則を変えます
「size~t」なんかどうでしょう?
0177デフォルトの名無しさんNGNG
>>172
ほんとに int64 でいいのか?
128bitになったら(なるのか?) int128 ですか…
それもいいかもしんない。でも、それだったら
int16 とか int32 とかもちゃんと欲しいな。

char8 とか char6 とか増えちゃったりして、
コンパイラ作る人は大変かもね。
0178デフォルトの名無しさんNGNG
>>177
わかってなさそうなので一応言っておくと、int8_t, int16_t, int32_t, int64_t, uint8_t, uint16_t, uint32_t, uint64_t は C99 で正式に採用されてるよん。
INT8_MAX, INT8_MIX とか、printf 用に PRId8, PRId16 とかもあり(詳しくは自分で調べれ)。

ってここはjavaスレ。スレ汚しごめ。
0179デフォルトの名無しさんNGNG
>>169
と、すると
今後、JAVAは益々動作が愚鈍になっていくと考えてよろしいか?
0180デフォルトの名無しさんNGNG
>>179
バス周りや OS の 64bit 対応とアプリケーションと 32/64bit 値の
扱いはそんな単純なものじゃない。ぶっちゃけ話、大して変わらんよ。
0181デフォルトの名無しさんNGNG
やっぱりクラス定義の後にセミコロン無いから糞だわ
0182デフォルトの名無しさんNGNG
>>181
つけても通るよ。
無知だな。
0183181NGNG
ガ━ン
無知だった(;;)
それならそうと入門書に書いてくれればいいのに・・・(;;)
0184デフォルトの名無しさんNGNG
GET />>181/肛門/index.html /HTTP1.0\r\n\r\n
0185デフォルトの名無しさんNGNG
参照で渡されたStringに文字を入れて返すプログラムを組んでみれば?
あんな勝手な真似をするポインタなんてねえ・・・。
0186デフォルトの名無しさんNGNG
大した問題じゃねえな。
0187デフォルトの名無しさんNGNG
マクロが使えないから(以下略
01882以降を読まずにカキコNGNG
>>1
Interface じゃだめなの?
0189デフォルトの名無しさんNGNG
VM用にコンパイルできたら、言語はなんでもいいような気が…
0190デフォルトの名無しさんNGNG
>>188
彼は行き当たりばったりプログラマですので。
0191デフォルトの名無しさんNGNG
>>188
話がどうどう巡りするだけだから止めれ。(w
もしくはちゃんと読めれ。
0192デフォルトの名無しさんNGNG
javaって糞だけどまあいいほうなんじゃないの?
0193デフォルトの名無しさんNGNG
>>192
糞なんて言うなよ、下品だな。
ちゃんとウンチって言え。
0194デフォルトの名無しさんNGNG
javaって便だけどまあいいほうなんじゃないの?
0195デフォルトの名無しさんNGNG
>>191
ちゃんと読んだ。
で、interfaceじゃダメなの?
(どこにも答なかったと思うが。)
0196デフォルトの名無しさんNGNG
それでどーやってテストw(以下略)
0197デフォルトの名無しさんNGNG
javaって下痢便だけどまあいいほうなんじゃないの?
0198デフォルトの名無しさんNGNG
AspectJじゃ駄目?
0199デフォルトの名無しさんNGNG
オブジェクト指向についていけない人間にはC++の引きずる泥臭い部分が
必要なんだ! という主張かな?>1
0200しゃあNGNG
ええい!愚Java房ども!
Javaは糞だといういことが何故わからんのだ!!
0201デフォルトの名無しさんNGNG
>>200
だんだんレベル下がってきてませんか?
0202デフォルトの名無しさんNGNG
こういう「受け皿スレ」がないと本家スレが荒れるので・・・
0203デフォルトの名無しさんNGNG
ここは隔離病棟かよ!
0204デフォルトの名無しさんNGNG
javacの親切なエラー出力になれきって
もう他の言語には戻れません。
0205デフォルトの名無しさんNGNG
1.3になってコンパイラ書き直し(よってエラーメッセージも書きなおし)で、非常に
意味不明なエラーメッセージが増えてますが何か?
あ、そういう皮肉か
0206デフォルトの名無しさんNGNG
>202
本家スレって?
0207デフォルトの名無しさんNGNG
>>206
オマエラが行くから言わない
0208デフォルトの名無しさんNGNG
バイトコードって?
0209デフォルトの名無しさんNGNG
>>208
俺の代わりにバイトしてくれるコード
0210デフォルトの名無しさんNGNG
C#もJavaも、お互いをけなしてばかりじゃなくて、相手に負けないような改良をすることに集中してほしいYO!
C#は後発だから一歩有利か、次はJavaの巻き返しに期待するYO!
0211デフォルトの名無しさんNGNG
貶し合いをしてる連中は言語そのものを改良する技術も権限も持ってないけどな。
ああ、Sunは別か(藁
0212デフォルトの名無しさんNGNG
さんざ、あんなんOOじゃねぇといわれたC++のtempleteもJavaやC#にも取り入れられるようだし、
JavaやC#も10年もてばC++真っ青な混沌仕様になってそうだが。
0213デフォルトの名無しさんNGNG
Java や C# は10年持つ、という仮定をするところを見ると
Java とか C# の擁護派ですか?
0214デフォルトの名無しさんNGNG
213の脳のエントロピーは低いのか高いのか
0215デフォルトの名無しさんNGNG
JavaでのGenericsの解説ページって、必ずCollectionクラスを持ち出して
「キャストがうざい」としか書いてないんだけど、
結局そういう解説ページは、Genericsって言いたいだけで利用方法や
本質を知らない馬鹿しか書いてないってことですか?
0216デフォルトの名無しさんNGNG
はい、そうです。
0217デフォルトの名無しさんNGNG
>>212

javaはもう十分すびるぐらい混沌としてると思うが?

io、nio。

もうね、アホかと。バカか略
0218デフォルトの名無しさんNGNG
>十分すびる
ちょっとワラタヨ
0219デフォルトの名無しさんNGNG
 
0220デフォルトの名無しさんNGNG
「ら」を打ちそびれた…
0221217>>219NGNG
  
0222デフォルトの名無しさんNGNG
でもさ io も nio も C++ の iostream に比べれば(以下略)
0223デフォルトの名無しさんNGNG
java.nio.糞スレ
0224デフォルトの名無しさんNGNG
DynamicProxyAPIって何に使うの?
0225デフォルトの名無しさんNGNG
>>224
java.lang.reflect.Proxy のこと?

どんなInterfaceも(コンパイルし直さずに)真似できるから、
GUIビルダツールなんか作るには最適。
0226224NGNG
なるへそ。コンパイルしなおさずに、がミソですな。
0227デフォルトの名無しさんNGNG
なんだかC++とJavaってナイフと便利バサミって感じ。
0228デフォルトの名無しさんNGNG
ナイフにしては良く切れすぎる。
うっかりOSごと斬り捌くし。
0229デフォルトの名無しさんNGNG
C++ → 斬鉄剣
java → 包丁
0230デフォルトの名無しさんNGNG
>>229
つまり、JAVAでは蒟蒻が切れると・・・
0231デフォルトの名無しさんNGNG
>>230
こんにゃく脳みそのミーハー顧客が切れます。
納品時に別の意味で切れます。二度美味しい。
0232デフォルトの名無しさんNGNG
よくわからんのだが、>>1はテストすべきClassを全部継承した
テスト用のClassが作りたいのか?

privateメンバは外からアクセスできん
      ↓
継承したら見えるようになる
      ↓
全部継承できたら(゚Д゚)ウマー

という感じ?
やめて欲しいのだが。
0233デフォルトの名無しさんNGNG
>>232
全くだな。そんな糞な方法取らなきゃデバッグもできんのかね。
1のアフォが。
0234デフォルトの名無しさんNGNG
Javaがクソかどうかは置いておくとして、>>1がクソということには異論あるまい。
02351NGNG
>>234
別に思わない
0236デフォルトの名無しさんNGNG
>>235
返事になってないぞ(藁

「異論はとくに思いつかない」ってことか?
0237デフォルトの名無しさんNGNG
javaは糞だって。C++ユーザならやってみてよ。
0238デフォルトの名無しさんNGNG
なにを?
0239デフォルトの名無しさんNGNG
AspectJ使え。
0240デフォルトの名無しさんNGNG
ま、とりあえず、
VC++,Java,VB+(C#?)が使えりゃカンペキにメシが食えるんだ

それくらいは文句言わずに使え
0241デフォルトの名無しさんNGNG
クラスを変態的に使うのは止めましょう。
>>1が目指してるのは全てのクラスが一つになったごった煮みたいな
シロモノと思われ。
Basic感覚でしか組めないアフォがクラスを極めると往々にして
そういう使い方をします。
外道です。
0242デフォルトの名無しさんNGNG
Cでもいるよナー
へッダ1つにしちゃうヤツ
0243デフォルトの名無しさんNGNG
class.FOO::bar()
とかが大量発生しそうでいやーんな予感。
0244デフォルトの名無しさんNGNG
OOに慣れすぎた俺からすると1が何をしたいのか良く分からんよ。
単純に包含しちゃあいかんのかと。
0245デフォルトの名無しさんNGNG
>複数のクラスを中身いじらずにいっぺんにテストしたいんだけど、

この発想が
極めて 1 のDQN 振りを物語ってると思う
0246デフォルトの名無しさんNGNG
実際に1のような方法でテストをしたら実環境で問題を起こすのは
火を見るより明らかなんでは?
0247定期的レスNGNG
で、結局>>1は継承を使ってどうやってprivate以下略
0248デフォルトの名無しさんNGNG
結論:DQNによる糞スレ
0249デフォルトの名無しさんNGNG
同じ質問を>>232-233に略
0250デフォルトの名無しさんNGNG
Ruby!
と叫んだところで、Rubyにも多重継承無いんだけど、
Ruby厨って何がしたいの?

ついでに、Rubyにはprivateだろうがアクセスできる破壊的な方法が存在する。
0251デフォルトの名無しさんNGNG
>>250
JavaだってあるYO!
0252デフォルトの名無しさんNGNG
ループが始まったか。
0253デフォルトの名無しさんNGNG
じゃあそろそろ結論出します
java → 糞だけどGUIとかネットワークところだけうまー
てことでいいですか?
0254デフォルトの名無しさんNGNG
Rubyは多重継承は複雑さの源であるという見地から、意図的に多重継承を持っていませんが、モジュールを使ってクラス階層を横断して実装を共有できます。この機能を"Mix-in"と呼びます。
0255デフォルトの名無しさんNGNG
JavaはGUIこそがクソだと思うが
0256デフォルトの名無しさんNGNG
mix-inてよくわからないんだが、
アップキャストが不可能な継承と考えていいの?
0257デフォルトの名無しさんNGNG
C#はGUIすら標準ではないが。
0258デフォルトの名無しさんNGNG
>>256
mix-inってのは「実体を持つ主役じゃなくて、修飾のために付け加えるもの」
くらいの意味。元はFlavorsというLisp MachineのOOシステムの用語。

Flavorsとmix-inってのは、好きな香りと混ぜ物が選べるアイスクリーム屋から
とった洒落だったが(ObjectにあたるのはVanillaFlavorだった)Rubyのは
洒落にも何にもなってないね。きっと無知な人が名付けたんだろう。
0259デフォルトの名無しさんNGNG
>>258
モジュールをクラスに混ぜてるからMix-Inなんだよ(ぷ
0260デフォルトの名無しさんNGNG
>>259
っていうかミックスインはオブジェクト指向における説明的用語で、
「もともとあった言葉」でしょ。
まつもと氏が思いついた言葉じゃないのでは。
ちなみにrubyでミックスインは
「継承」ではなくて「インクルード」される。
話題それてつまらぬ。すまぬ。
0261デフォルトの名無しさんNGNG
>>253
javaのあの糞ネットワークのどこがウマーなの?
0262253NGNG
すいません、実はjavaやったことないのれす・・・(p_q)
0263デフォルトの名無しさんNGNG
blame blame blame ,,,,
unfortunately it is always the same behavior for people who can't handle something well.
that means a man who always blame something is ......
0264デフォルトの名無しさんNGNG
>>260
誰が「mix-inが継承される」と書いたんだ?
誰が「mix-inを思いついたのはまつもとだ」と書いたんだ?
0265デフォルトの名無しさんNGNG
ここは釣堀ですか?
0266デフォルトの名無しさんNGNG
しったか君の保護施設です
0267デフォルトの名無しさんNGNG
>>266
保護してくれよぉ
0268デフォルトの名無しさんNGNG
>>267
では何か知った振りをしなさい。
0269デフォルトの名無しさんNGNG
>>268
Javaでインターフェースの他重軽傷を行うと
幸せに慣れるから全てのクラスはjava.awt.Appletを
敬称すべきである。
0270デフォルトの名無しさんNGNG
RMIActivation、燃えるぜ!
MulticastSocket使ってPersonalJiniもどき作成中。
0271デフォルトの名無しさんNGNG
多重継承の利点がわからん
0272デフォルトの名無しさんNGNG
ぐちゃぐちゃになってキャストが増えてコードが増えてテストも大変で
残業代増えてウハウハ
0273シッタカ君NGNG
実はおれも多重継承の良さが分からん。クラスライブラリの基本的なクラスが
多重継承で上手くまとめられているときは「美しい・・・」と思うけど、
アプリケーションで下手に使うとGoto文みたいにならないのかが心配だ。直感だが。
0274デフォルトの名無しさんNGNG
多重継承した方がわかりやすくなるケースもたまにあるだろ。

継承したものすべてを漏らさずドキュメント化してあれば
多重継承してようがなんだろうが、すっきりする。

手抜きをして基底クラスの解説を基底クラスのドキュメントへのポインタだけで
すましていると、使う側も混乱するし、メンテも難しくなる。
0275デフォルトの名無しさんNGNG
結局みんな、オブジェクトから.や->を伸ばしたいだけなんだよね?
それって記述上の問題だよね?
0276デフォルトの名無しさんNGNG
->はC++だとポインタからの参照だが
Perlだとデリファレンス演算子だという罠。
0277デフォルトの名無しさんNGNG
>>274
>継承したものすべてを漏らさずドキュメント化してあれば
>多重継承してようがなんだろうが、すっきりする。

それは管理志向のオナニーだよ。
そうやって幾つのWFプロジェクトが死んでいったことか・・・
■ このスレッドは過去ログ倉庫に格納されています