- 1 名前:デフォルトの名無しさん mailto:sage [05/01/29 16:18:12 ]
- ほんとプログラマにとってはMacって
本当に興味が無いOSだよねw Macでの標準的な言語であるObjective Cのスレすら無いし。 過去にはあったんだろうけど。
- 51 名前:デフォルトの名無しさん mailto:sage [05/01/31 22:54:20 ]
- というか、もうMac専用言語だと割り切った方が良い。
>>36 OOPやってた香具師ならアポのPDFと、その辺にあるネットの 説明ぐらいで充分。元々大した量じゃない 後はサンプルなんか感触つかめばエエ話
- 52 名前:デフォルトの名無しさん mailto:sage [05/02/01 01:08:27 ]
- Mac専用言語だと思ったら、ますます >>45 が驚異的に思えるな。
CができてOOPが理解できてれば、すんなり入れて楽に使えるから、たしかに導入時のハードルは低いな。
- 53 名前:デフォルトの名無しさん mailto:sage [05/02/01 04:46:39 ]
- この本を読めばC++よりObjective-Cの方がオブジェクト指向を
忠実に実現しているのが分かると思う。 第1版は絶版らしいので第2版を紹介 ttp://www.amazon.co.jp/exec/obidos/ASIN/4775303716/ 今風にMacOSX向けの記述が追加されてるそうな。
- 54 名前:デフォルトの名無しさん mailto:sage [05/02/01 11:45:58 ]
- この言語良く知らないんだけど、GCって付いてるの?
- 55 名前:デフォルトの名無しさん mailto:sage [05/02/01 13:21:41 ]
- >>54
基本的にはできない。 Objective-C(っというかNSxxのCocoa[OpenStep]フレームワーク)は WinのCOMやboostのスマートポインタみたいに参照カウンタ方式。 NSでautorelease poolとかを使えばある程度の管理はしてくれ るけど、Javaのようなもんじゃない Objective-CのライブラリでGCもどきを誰かが作ってたきもする が失念 >>53 史実っていうかSmalltalkに似せようとしたのがObjective-C でそ?C++とコンセプトが違うから仕方ない # あーテンプレート使いテー
- 56 名前:デフォルトの名無しさん mailto:sage [05/02/01 16:05:53 ]
- >>52
うーん。言語仕様(マニアックに突っ込まなきゃ)だけなら Objective-C、C++、Java、C#、その他も覚える量は大して 変らんと思うよ。 実際ある程度の物を作るんだったら、フレームワーク覚えるのが 一番時間かかる(OOP関連除けば)んだから。。
- 57 名前:デフォルトの名無しさん mailto:sage [05/02/01 17:06:34 ]
- Cからの移行なら完全上位互換の Objective-C が楽なのは明確だろ。
- 58 名前:デフォルトの名無しさん mailto:sage [05/02/01 17:09:00 ]
- ObjectiveCでλ式は書けますか?
- 59 名前:デフォルトの名無しさん mailto:sage [05/02/01 17:43:13 ]
- >>57
そうか? C++の方が先だったので実際にC→Objective-Cをやった訳 ではないけど、覚え易さに強調(売りに)するほどの差は無い とは思うがね。まぁどっちでも良いわさ。 C→Objective-Cも、C→C++も別に大変ってわけでも無いし
- 60 名前:デフォルトの名無しさん mailto:sage [05/02/01 19:46:19 ]
- C++は無駄な拡張しすぎだと思う
- 61 名前:デフォルトの名無しさん mailto:sage [05/02/01 19:56:24 ]
- >>60
アーー、どんな拡張っスか。 僕様チャン頭ワりーんで、わかんねーッ アヒャww
- 62 名前:デフォルトの名無しさん mailto:sage [05/02/01 20:01:28 ]
- スタックにインスタンスとれるとこなんか、
なーんかやな感じなんだよなあC++
- 63 名前:デフォルトの名無しさん mailto:sage [05/02/01 20:14:59 ]
- >>62
俺はそこが好きなんだよね……
- 64 名前:デフォルトの名無しさん mailto:sage [05/02/01 20:18:13 ]
- Objective-Cは長いのでOCと書いても良いですか
- 65 名前:デフォルトの名無しさん mailto:sage [05/02/01 20:30:01 ]
- ふつー ObjC
- 66 名前:デフォルトの名無しさん mailto:sage [05/02/02 04:11:21 ]
- 他スレみたいにObjective-Cがらみのプログラミングで
どうするのかとか聞くスレかと思いきや。 Objective-Cとは何か? って もはや新しく言語が出来てどういう言語なのか話しているのと同じレベルだな。 昔からある言語なのに使われていないと言うことが良くわかった。
- 67 名前:デフォルトの名無しさん mailto:sage [05/02/02 04:27:38 ]
- 今でもライブラリ・フレームワークを整備したら流行るかねえ。
そういえばObjective-C++なんてあったようななかったような。
- 68 名前:デフォルトの名無しさん mailto:sage [05/02/02 04:46:35 ]
- 次(あるのか?)のスレタイ
【雑談】Objective-C【禁止】
- 69 名前:デフォルトの名無しさん mailto:sage [05/02/02 07:53:01 ]
- Objective-C++ってなに?
- 70 名前:デフォルトの名無しさん mailto:sage [05/02/02 14:08:06 ]
- Cocoaはさっぱり!!! version.4
pc7.2ch.net/test/read.cgi/mac/1091927026/
- 71 名前:デフォルトの名無しさん mailto:sage [05/02/02 14:53:09 ]
- Cocoaはやっぱり!!!
202.228.189.75/
- 72 名前:デフォルトの名無しさん mailto:sage [05/02/02 14:53:59 ]
- >>71
怪しいから踏みたくないなぁ…
- 73 名前:デフォルトの名無しさん mailto:sage [05/02/02 15:32:44 ]
- >>69
homepage.mac.com/mkino2/spec/objectiveC++/objectiveC++.html
- 74 名前:デフォルトの名無しさん mailto:sage [05/02/02 17:15:00 ]
- >>72
>>71 は森永製菓だから大丈夫
- 75 名前:デフォルトの名無しさん [05/02/02 17:35:55 ]
- 日本語訳あるのね。
Objective-C プログラミング言語 developer.apple.com/ja/documentation/cocoa/Conceptual/ObjectiveC/index.html
- 76 名前:デフォルトの名無しさん mailto:sage [05/02/02 19:01:15 ]
- >>73
Objective-C と C++ の Rhapsody っていうより ただしっちゃかめっちゃかに見える
- 77 名前:デフォルトの名無しさん mailto:sage [05/02/02 20:54:37 ]
- ちょっとうろおぼえ何だけどさ、Nextの実装だと
{obj message] でobj がnil でも落ちなかったよね?
- 78 名前:デフォルトの名無しさん mailto:sage [05/02/02 22:35:56 ]
- たしかnilは何でも受けるんじゃなかったっけ?
- 79 名前:デフォルトの名無しさん mailto:sage [05/02/03 00:43:38 ]
- 誰も答えを知らない言語・・・。
- 80 名前:デフォルトの名無しさん mailto:sage [05/02/03 00:45:03 ]
- 俺もこのスレ見てるけど使った事ないし。
- 81 名前:デフォルトの名無しさん mailto:sage [05/02/03 02:12:37 ]
- >>77-80
みんなGCCくらい持ってるでしょ? なら, #import <objc/Object.h> int main(int argc, char* argv[]) { id obj = nil; [obj new]; return 0; } を gcc Test.m -Wno-import -lobjc とコンパイルしてみればいいじゃない。 やってみれば分かるが,警告なしでコンパイルは通り,実行時も何もエラーは出ない。 nilはメッセージを何でも受け付ける。
- 82 名前:デフォルトの名無しさん mailto:sage [05/02/03 02:19:44 ]
- >>81
できた。 ちょっと構文規則でも読んでくる。
- 83 名前:デフォルトの名無しさん mailto:sage [05/02/03 11:01:50 ]
- 読んだ。なんとなく解かった。C++の方が使いやすいのは慣れていないからだろうか。
ともかくとして、疲れたから寝る。おやすみ。
- 84 名前:デフォルトの名無しさん mailto:sage [05/02/03 15:52:31 ]
- 10.4でpersistent objectが実装されるらしい。XML/RDBベース。
- 85 名前:デフォルトの名無しさん mailto:sage [05/02/03 15:53:49 ]
- >>83
ObjCは未知のサブクラスのインスタンスを呼び出せる。
- 86 名前:デフォルトの名無しさん mailto:sage [05/02/03 16:20:02 ]
- >>84
今でも nib っていうのがあるけど
- 87 名前:デフォルトの名無しさん mailto:sage [05/02/03 17:02:12 ]
- 10.4のQTKitに期待!
No More カーボン!
- 88 名前:デフォルトの名無しさん mailto:sage [05/02/03 20:57:05 ]
- nilが全てのメッセージを受け取る言語だと
nilで死ぬことないから、逆にチェックを厳密にやらないと 分かりづらいバグが出るだろうね。 しかし当たり前の話だけどnilはOKなのに releaseしたゴミポインタにメッセージを 送ると普通にSEGVで死ぬのがムカつく(w [obj release] obj=nil; これで安全。
- 89 名前:デフォルトの名無しさん mailto:sage [05/02/03 21:00:20 ]
- releaseだったら当該コードで死亡するところが、
autorelease pool つかうとどこが悪くて落ちるかわかんなくて 結構デバッグ大変じゃない?
- 90 名前:デフォルトの名無しさん mailto:sage [05/02/03 21:13:26 ]
- >>88
なんか前半と後半で矛盾したことを言ってるぞ。 >releaseしたゴミポインタにメッセージを >送ると普通にSEGVで死ぬのがムカつく(w ここで死んでもらわんとわかりづらいバグになるだろうがw
- 91 名前:デフォルトの名無しさん mailto:sage [05/02/04 01:10:22 ]
- >90
え、QTKitってCocoaでバリバリQuickTimeいじれるようになるんじゃないの、、、 NSMovieViewって基本的なことしか今はできないですよね? いろいろやろうとすると結局Carbonっていうのがなぁ、、、 QTKitでCarbonと同じようにCocoaからQTがいじれるのかなーと思ってます。
- 92 名前:デフォルトの名無しさん mailto:sage [05/02/05 16:25:45 ]
- >>86
nibってInterface Builderの、だよね。 変更したインスタンスは保存できんよ。
- 93 名前:デフォルトの名無しさん mailto:sage [05/02/06 17:04:21 ]
- ObjCの実装で実績あるのってappleのとgccぐらい?
- 94 名前:デフォルトの名無しさん mailto:sage [05/02/06 18:16:20 ]
- >>93
Appleの=gcc な訳だがw
- 95 名前:デフォルトの名無しさん mailto:sage [05/02/06 20:47:27 ]
- NSなんちゃら
- 96 名前:デフォルトの名無しさん mailto:sage [05/02/07 03:19:48 ]
- Stepstone の Objective-C 使ってますた
- 97 名前:デフォルトの名無しさん [05/02/07 11:29:15 ]
- OSXで初プログラミング中なんだけど、Interface BuilderとObjective-C++での
開発はめちゃくちゃ楽やね。もちろん最初は情報がなかなか捜せなくて、数行 で書けることをWebで見つけ出すのに数時間なんてことやってたけど。Winに もGNUStep入れてみようかと思ってる。
- 98 名前:デフォルトの名無しさん mailto:age [05/02/11 19:12:15 ]
- age
- 99 名前:デフォルトの名無しさん mailto:sage [05/02/12 21:14:32 ]
- メモリ管理のできるパフォーマンスのよいjavaみたいなもんだと
思うのだが、なぜか人気がない。why?
- 100 名前:デフォルトの名無しさん mailto:sage [05/02/12 21:24:13 ]
- 宣伝してないからかな。
ところでWindowsで使えるんか? Cocoaが無いと意味ないか。
- 101 名前:デフォルトの名無しさん mailto:sage [05/02/12 21:56:30 ]
- ttp://www.mosa.gr.jp/mpj2000/jul/toku1/toku1.html
- 102 名前:デフォルトの名無しさん mailto:sage [05/02/12 22:53:14 ]
- Objective-Cで満足にプログラミングできる環境が整ってるのはやっぱOS Xくらいだろうなぁ。
そのほかの環境でやるとしたらGNUStep + ObjCかGTK+ + ObjCってところ?
- 103 名前:デフォルトの名無しさん mailto:sage [05/02/15 09:42:28 ]
- >>99
字面
- 104 名前:デフォルトの名無しさん mailto:sage [05/02/15 15:19:34 ]
- ちょっと書きにくいんだよ、はじめの”[”が。
C/C++,Java,VBみたいにhoge.funcとかhoge->funcと左から右へ 単純に移動するだけですめばいいんだけど
- 105 名前:デフォルトの名無しさん mailto:sage [05/02/15 19:39:45 ]
- [obj message];
は主語と述語っぽくて読みやすいよ。 英文として読み下せるよ。ってどっかの外人が言ってた。
- 106 名前:デフォルトの名無しさん mailto:sage [05/02/15 23:49:44 ]
- cocoaの仕事したいなあ、どこで募集しているのだろう?
- 107 名前:デフォルトの名無しさん mailto:sage [05/02/18 21:28:07 ]
- その昔の実装だと 例外発生時にcatchまで飛ぶのはいいけど
try - catch 中に生成したオブジェクトをdeleteしようがなくて メモリリークの危険バリバリだったよーな気がする。 これって今どーなってる?
- 108 名前:デフォルトの名無しさん mailto:sage [05/02/18 22:37:39 ]
- @finally でやればいいのでは?
- 109 名前:デフォルトの名無しさん mailto:sage [05/02/22 18:55:50 ]
- >>102
GTK+ の Objective-C バインディングというと, * GTKKit * GToolkit * gnome-objc あたりがあるんだけどどれもメンテナンスされてないんだよねぇ…? 昔 gnome-objc で遊んでたけど結構 buggy でいくつか patch 書いて送ったけど 完全無反応だったし… # まぁ C の API 直接叩けばいいんだけどさ…
- 110 名前:デフォルトの名無しさん [05/02/25 13:01:36 ]
- developer.apple.com/ja/documentation/japanese.html
Cocoa バインディング入門 キー値コーディング(Key Value Coding) キー値監視について(Key Value Observing)
- 111 名前:デフォルトの名無しさん mailto:sage [05/02/25 15:04:26 ]
- 簡単な質問かもしれませんが、分からないので教えてください。
以下のプログラム、核は出来ています。このまま使用しても目的は達成できます。が、 tokyo.cool.ne.jp/kuonnnokizunanbalivetehe/CSJS2EUC.C tokyo.cool.ne.jp/kuonnnokizunanbalivetehe/CEUC2SJS.C この2つのソースコードをJISを経過させずに直接変換させるにはどうしたらいいでしょうか?
- 112 名前:デフォルトの名無しさん mailto:sage [05/02/25 15:05:47 ]
- まったく見ていないが、おそらく Objective-C とは何ら関係がない。
- 113 名前:デフォルトの名無しさん mailto:sage [05/02/26 04:56:52 ]
- なんか夜9時にいきなりツールを明日の朝までに作れって上司が言って
仕様書いたポストイットを俺の端末に貼って帰りやがった 最初は普通に VisualC++ で作ってたが途中で上司の態度がムカついてきたんで GNUStep と MinGW と コーディング用に Meadow 落としてきて Objective-C と GNUStep の Foundation と Win32API の不気味なコラボレーションで 仕様通りのツールを仕上げてやった 俺が辞めた後でソースみて気絶する奴が出ない事を祈る
- 114 名前:デフォルトの名無しさん mailto:age [05/02/26 08:04:44 ]
- >>113
GJ! と言っておこう。
- 115 名前:デフォルトの名無しさん [05/02/26 17:44:09 ]
- >>113苦しむのは後釜と思われ。
その上司は次の誰かに朝までの修正を夜9時に渡して帰るだけだぞ。 内容が解らんので何とも言えんが、因みに本当に非道いケースでは 上司が定時帰宅で責任は部下に擦り付ける罠。 あとその成果物って他のPCでも動く?
- 116 名前:デフォルトの名無しさん mailto:sage [05/02/26 17:48:46 ]
- >>115
113じゃないがobjc.dllとgnustep-base.dllいっしょに入れときゃ動くでしょ。
- 117 名前:デフォルトの名無しさん mailto:age [05/02/26 23:32:11 ]
- Objective-Cの参考書(日本語)って存在しないのか・・・?
世の中はC、C++、C#、Java、VBがほとんどを占めている訳か? 「Cocoaはやっぱり」以外にOSXでのプログラミングを支援する書籍が無い! Appleは何を考えとるんだ・・・。 英語版をなんとかして読むしかありませんか。
- 118 名前:デフォルトの名無しさん mailto:sage [05/02/26 23:41:24 ]
- > Appleは何を考えとるんだ・・・。
イマドキ「日本語の参考書がないから勉強できまちぇん」 とかヌカしてる連中は必要ないということでしょう。
- 119 名前:デフォルトの名無しさん mailto:sage [05/02/26 23:50:07 ]
- >>117
ヒレガス本,萩原本,HMDTは? 萩原本は出版社がなくなったみたいだから手に入りにくいかも知れんけど。 Objective-Cの言語についてだったら日本語翻訳がある。 developer.apple.com/ja/documentation/cocoa/Conceptual/ObjectiveC/index.html
- 120 名前:デフォルトの名無しさん [05/02/26 23:50:23 ]
-
>「Cocoaはやっぱり」以外にOSXでのプログラミングを支援する書籍が無い! これはあんまりだろ。
- 121 名前:デフォルトの名無しさん mailto:sage [05/02/26 23:55:59 ]
- とりあえずHappy Macintosh developing timeは買っとく事にします。
>>120 書籍ベースの参考書についてはJavaやC++みたいな 習得人口の多い言語と比べるべきでは無かったですね。
- 122 名前:デフォルトの名無しさん mailto:sage [05/02/27 00:40:30 ]
- Cocoaはやっぱり!とHMDT本と、HMDTのページのCocoa 1001があればほぼ用が済むと
思うんだけど.... APIリファレンスがちゃんとあるんだしさ。
- 123 名前:デフォルトの名無しさん mailto:sage [05/02/27 02:12:50 ]
- Objective-Cって学習コストがかなり低い部類に入ると思うけどなあ。
俺なんて講義でObjective-Cによるフレームワークのを使うからってんで 簡単な紹介とポインタ示してこういうものがあるから覚えてこいでおしまいだったぞ。 当然そっから先の講義のほとんどやレポートに必要だった。
- 124 名前:デフォルトの名無しさん mailto:sage [05/02/27 04:05:16 ]
- >> 123
* C言語が使える * 少くとも一つのオブジェクト指向言語が使える 人ならば学習コストは低いでしょうけど… 昔 "10 minutes learning objective-C"(だったかな?) とかいう Web page を読んで文法覚えました。 当時 C や Java を覚えた後だったんで覚えるのに1日はかからなかったなぁ。 #10分じゃ無理だったけど
- 125 名前:デフォルトの名無しさん mailto:sage [05/02/27 04:55:33 ]
- > 萩原本は出版社がなくなった
うわ、ほんとだ。知らなかった。 www.dgcr.com/cgi-bin/backnumber/back.cgi?mode=right&year=2004&month=9&day=17
- 126 名前:デフォルトの名無しさん mailto:sage [05/02/27 10:10:34 ]
- Macに乗り換えてプログラミングに興味があるので、CocoaのObjective-Cでプログラミングをしてみたいのですが、どこから入れば良いでしょうか。
ちなみに、プログラミングの知識は0に近く、WindowsでHSPという言語でちょこっとやったことがある程度です。
- 127 名前:デフォルトの名無しさん mailto:sage [05/02/27 11:06:54 ]
- はじめてのMac OS X Cocoaプログラミング―v10.2対応
www.amazon.co.jp/exec/obidos/ASIN/4898143997/ 辺りかなぁ。
- 128 名前:デフォルトの名無しさん [05/02/27 11:43:37 ]
- >>127
中村本は取っ付きやすいとはおもうけどCの知識が0だときついよ。 Cの入門書とセットで読むといいかも。
- 129 名前:デフォルトの名無しさん mailto:sage [05/02/27 12:39:07 ]
- >>117-122
だべってないでお前らが本書けばいいだけじゃん 一人一殺だ
- 130 名前:r [05/03/02 23:57:23 ]
- ここって、Objective-CっつーよりCocoaスレなんだな。
あのさ、NSImageViewのサブクラスを作って、 -(void)mouseUp:(NSEvent*)event; をオーバーライドして、 画像上のマウスクリックのイベントを拾おうとしたんだが、 なんか、mouseUpメソッドが呼ばれないみたいだったんだ。 で、試しに -(void)mouseDown:(NSEvent*)event; も、ついでにオーバライドしてみたら、 mouseUpもmouseDownも呼ばれるようになった。 mouseUpとmouseDownって、ペアでオーバライドしなきゃいけないの? これってマカーには常識?
- 131 名前:デフォルトの名無しさん mailto:sage [05/03/03 02:27:37 ]
- そんなことはない
副作用で直ったと思われ
- 132 名前:デフォルトの名無しさん mailto:sage [05/03/03 18:39:51 ]
- 言語の敷居は低いが、Cocoaがキツイ。
良く在るC++のクラスライブラリと違ってOSの一部なので、ソースが無い。 かといって、JDKのように挙動が自明でもない。 試行錯誤させられる亊が多過ぎる。
- 133 名前:デフォルトの名無しさん mailto:sage [05/03/03 18:41:38 ]
- 演算子のオーバーロードがないから文字列クラスの扱いがきついね
std::stringですら遥かにまし
- 134 名前:デフォルトの名無しさん [05/03/03 19:21:21 ]
- 早くXCodeがDをサポートしますように
- 135 名前:デフォルトの名無しさん mailto:sage [05/03/03 22:25:19 ]
- ソースはある
- 136 名前:デフォルトの名無しさん mailto:sage [05/03/03 23:15:51 ]
- >>135
あるの?
- 137 名前:デフォルトの名無しさん mailto:sage [05/03/04 01:12:28 ]
- mac mini届いた、Objective-Cを触ってみたが、C++に要した労力に比べると、格段に易い。
文法もすっきりしている、好きになりそうだ。
- 138 名前:デフォルトの名無しさん mailto:sage [05/03/04 01:39:01 ]
- >>137
すごいな。 漏れはずっとC++使って来て、PublicBetaを試したとき、 Objective-C自体の書式はすぐに分かったのだけど、 IBとPBの連携の意味を理解するのに半年掛かってしまった。 資料見ても意味分からないから試行錯誤&挫折の繰り返しでなかなか意図を見抜けなかった。 で、ようやくポトペタでGUIアプリが作れるようになったんだけど、 結局Cocoaのクラス構成とかの流儀に馴染む前に嫌になってしまったよ……。
- 139 名前:デフォルトの名無しさん mailto:sage [05/03/04 08:50:58 ]
- autoreleaseなんてのがあるので
オブジェクト解放のタイミングが分かりづらくなってる気がする。 なかなか気付きにくいよ「イベントループの末尾で削除」なんて。
- 140 名前:デフォルトの名無しさん mailto:sage [05/03/04 10:19:26 ]
- そこでGNUstepのGCですよ。
マジほしいな、これは。
- 141 名前:デフォルトの名無しさん mailto:sage [05/03/06 13:05:38 ]
- 情報提供してあげてください。
ttp://www.rubyist.net/~matz/20050304.html >どうやらObjective-Cの「カテゴリ」と呼ばれる機能が、以前から悩んでいたselector namespaceに近いもののようだ。基本的な概念は理解できるものの、実際の挙動(と実装)がイメージできず苦しんでいたので、参考にできるものがあるのはありがたい。 >しかし、ちょっとGoogleしてみた範囲内では、その仕様はよくわからなかった。具体的な挙動や実装について参考になる資料はないものだろうか。 >あれ? まてよ。 >今、改めてGoogleしたページを読み返すと、別に有効範囲が静的スコープであるとは書いてないな。そうするともしかしてカテゴリってのは、ただ単に「インスタンス変数が追加できないMix-in」なのか。それだったらすっごい残念なのだが。 >selector namespaceのある言語といえば、他にSmallscript (S#)やJavaScript (EcmaScript 4.0)などもあるが、いずれも現時点で私には理解できていない。 >情報提供歓迎。
- 142 名前:デフォルトの名無しさん mailto:sage [05/03/07 12:12:31 ]
- >インスタンス変数が追加できないMix-in
でほぼ正解じゃなかったかな…? メソッドも追加ができるだけでオーバーライドすらできないからそれ以下かな?
- 143 名前:142 mailto:sage [05/03/07 13:13:57 ]
- すまん…
オーバーライドはできたかも…
- 144 名前:デフォルトの名無しさん [05/03/08 22:09:19 ]
- idとNSObject*と、他Objective-Cのインスタンスへのポインタって、
全く等価なもんなんでしょうか。 例えばObjective-Cのクラス Fugaが定義されているとして、 次の2行は等価? 非等価? id p = [[Fuga alloc] init]; Fuga* p = [[Fuga alloc] init];
- 145 名前:デフォルトの名無しさん mailto:sage [05/03/08 22:17:13 ]
- コンパイル時に型チェックが働くか否かの差
- 146 名前:デフォルトの名無しさん mailto:sage [05/03/08 22:25:34 ]
- >>142
Mix-inって、クラスを特定することなく定義できる必要があると思うんだけど。 Objective-Cのカテゴリって定義時にクラスを指定するから、他のクラスで使うことができない。 これをMix-inというのだろうか。そもそもMix-inとは?
- 147 名前:142 mailto:sage [05/03/09 13:43:29 ]
- >>146
わたしの中での Mix-in に対する認識は * 基本となる型(Flavor)が存在する * その型に対して追加機能を提供する型が Mix-in * 機能追加すること自体も Mix-in と呼ぶ(?) * 機能追加は,実装でも仕様でもOK * プロトタイプ言語には Mix-in は存在しない(必要ない) * C++ の多重継承でも Mix-in (の概念)は存在する(らしい) という感じです。 なので特定の型(Flavor)に機能追加するだけでも Mix-in だと思ってますが… 世間一般での Mix-in の定義はどうなんでしょうね?
- 148 名前:デフォルトの名無しさん [05/03/09 18:46:33 ]
- >>145
ダイナミックバインドってid経由でしか働かないんだっけ
- 149 名前:デフォルトの名無しさん mailto:sage [05/03/09 20:53:44 ]
- 仕様の追加は mix-in とは言わないんじゃ、、、
> * C++ の多重継承でも Mix-in (の概念)は存在する(らしい) というか、多重継承だからこそ mix-in が可能なんじゃないか? Ruby は多重継承ができないけど、 mix-in があるので 多重継承と似たことができますよ、ってことにしてるんでしょ?
- 150 名前:デフォルトの名無しさん mailto:sage [05/03/09 21:04:48 ]
- 逆
C++ では Mix-in を表現するに多重継承を使う方法がある
- 151 名前:デフォルトの名無しさん mailto:sage [05/03/09 21:14:19 ]
- あぁ、まぁ、そうか。
|

|