Objective-C [ObjC part:8.1]; [転載禁止]©2ch.net

レス数が1000を超えています。これ以上書き込みはできません。
2014/11/01(土) 13:35:17.70ID:12FSUUrY
Objective-C(オブジェクティブ シー)はプログラミング言語の一種。C言語をベースにSmalltalk型のオブジェクト指向機能を持たせた上位互換言語。
 (Wikipedia:http://ja.wikipedia.org/wiki/Objective-C より)

前スレ
Objective-C [ObjC part:8];
http://peace.2ch.net/test/read.cgi/tech/1356341803/

Objective-C [ObjC part:7];
http://toro.2ch.net/test/read.cgi/tech/1330330906/
Objective-C [ObjC part:6];
http://toro.2ch.net/test/read.cgi/tech/1313891268/
Objective-C [ObjC part:5];
http://hibari.2ch.net/test/read.cgi/tech/1279730299/
Objective-C [ObjC part:4];
http://pc12.2ch.net/test/read.cgi/tech/1239721860/
Objective-C [ObjC part:3];
ttp://pc12.2ch.net/test/read.cgi/tech/1186543111/
Objective-C
ttp://pc11.2ch.net/test/read.cgi/tech/1106983092/
Objective-C
ttp://pc5.2ch.net/tech/kako/990/990574267.html
972デフォルトの名無しさん
垢版 |
2017/11/17(金) 14:46:32.69ID:KuiGlQ+X
+でも継承できるんですか
勘違いしてました
すると+と比べて-のメリットは何でしょうか?
2017/11/17(金) 15:37:54.52ID:oYmLZZ1y
メリットってか機能が違う
2017/11/17(金) 17:12:02.46ID:0jV1JJrR
OOPSの理解が先だな。OOPS理解すればそんな質問してたのがアホだったと思うだろう
2017/11/17(金) 17:31:12.22ID:5PrRKVul
いやJavaとかから来たらわからんだろうよ

通常のオブジェクトがそれが属するクラスにメソッドを定義することで、それをコールできるのと同様に
Objective-CではSmalltalkやRubyなどと同様に
クラスもまた、自身が属するメタクラス(さらに上位のクラス)にメソッドを定義することでそれをコールできる

メタクラスはクラスとちがって無名なので、便宜上そのクラスへのメソッド定義(インスタンス向け)を - で、
対応するメタクラスへのメソッド定義(そのクラス自身向け)を + で表す決まりになっている

つまるところ、+ と - はそのメソッドが定義される場所(ひいてはそれをコールできるオブジェクト)が違う
2017/11/17(金) 17:50:54.14ID:P19mM9yq
UMLの-と+でインスタンスメソッドとクラスメソッドを区別するやつ
Objective-Cが由来なのかな
2017/11/17(金) 17:52:10.61ID:P19mM9yq
すまん間違えた
UMLの-と+はパブリックとプライベートだった
2017/11/17(金) 18:38:09.45ID:0jV1JJrR
>>975
なんか小難しいこと書いて言ってるけど、そんな知識をひけらかす必要あるのか?元の ID:KuiGlQ+X には
そのレスの絞めとして、クラスメソッドとインスタンスメソッドは明確に性格が違うと言っているんでしょ?なぜかはOOPS理解していれば聞く必要もないことで、それは、Javaでも同じだろう

理解してないようだから、早々に>>968なんて言うヤツが出たんだろ
2017/11/17(金) 18:47:40.32ID:5PrRKVul
>>978
ひけらかすほどの知識とも思わんが
それとも、こんな基本的なことも知らないで使ってるのか?

そもそもOOPSってなんなんだよ…
2017/11/17(金) 18:53:04.67ID:0jV1JJrR
>>979
OOP Style だよ。まあ、OOPでいいけど
言ってるのはクラスメソッドとインスタンスメソッドは違うってだけじゃん?何をそんな小難しく読みづらいっていうw
いきなりJavaだからとかから始まって...あるとしたら、Objective-C固有のかと思ったらそうでもないし
2017/11/17(金) 19:05:43.30ID:5PrRKVul
>>980
Java、C++等の staticメソッドと、Objective-Cや Smalltalk、Ruby のクラスメソッドは別物だよ?
それすら分かってないのか…
2017/11/17(金) 19:13:50.64ID:0jV1JJrR
>>981
機構/実現方法としてだろ?だから、そんなこと元々のヤツは聞いてないだろって言ってるのに。だからそゆ細かいとこをひけらかすって言ってるのに(「俺には当然」らしいけけど、なんでだったらわざわざ書くのか?)

実際インスタンスメソッドがメインでクラスメソッドなんて書く機会/必要性は割合的になくね?OOPS的にはw
でも、やっぱり必要な場合があるから、なんかあんたが違うと拘ってるけど、クラスメソッドがそれぞれの言語でもあるんだろ?
そゆ意味で元々の俺のレスだよ。なんでそれを否定して細かい違いを言ってるのかいまださっぱりわからん=知識のひけらかしにしかみえんのだけど
2017/11/17(金) 19:32:51.40ID:oYmLZZ1y
すーぐ熱くなる
マなんてこんな奴らばかりなんだからお互い無駄に体力使うなよ
コミュニケーション以外の所に能力値振ってるから説明がヘタクソになるんだよ
解説本とかみんなそうだろ
ともあれID: KuiGlQ+Xはメリットデメリットの話する前にそれが存在する理由と
どのような使い分けがあるのかを考える方が良い
2017/11/17(金) 19:34:13.50ID:0jV1JJrR
うるせっww
2017/11/17(金) 19:38:54.65ID:5PrRKVul
>>982
じゃあ、私はクラスメソッドなんか使いません。staticメソッドと区別も分かりません。でいいじゃん
まず、クラスメソッドの価値を見いだせないそのOOPSwとやらをなんとかしろよ
2017/11/17(金) 19:42:04.64ID:0jV1JJrR
>>985
誰になに言ってるのか不明すぎ
「クラスメソッドの価値を見いだせない」とかいきなり。誰も不要なんて言ってないけど?必要な場合があるって言ってるじゃん?ああ、「なんだか知らんが必要な場合があるんだろうな」と俺が言っているととっているのか??んー、だったら、すげえなww
なんだかどうしても俺を下に見下したいだけにしか見えないんだけど?数スレ前からずっと
2017/11/17(金) 19:51:55.22ID:i5UkdOT+
これはID:5PrRKVulがきしょい
2017/11/17(金) 19:54:52.75ID:5PrRKVul
>>986
だってOOPSwとか分からんこと言ってる時点で明らかに下じゃんw
逆にどうしてその程度で上から目線を貫けるのか謎だわ
2017/11/17(金) 19:58:05.03ID:5PrRKVul
たぶん自慢げに語るそのOOPSwとやらの説明すらまともにできないのでは?との想像に難くないレベルの低さ
2017/11/17(金) 20:02:14.50ID:0jV1JJrR
>>988
OOPと書かなきゃダメなのか?まあ、一時的にOOPSもあったんだよ。知らないだろうけど
たかがそれだけのことで全否定できるって、さすが細かいとこにこだわるお人だなあ&くだらなさすぎ&本来の話題が逸れすぎだと思うぞ。なんかあんたが心配(自ら自らを貶めているようでw)

長引くようだったら次スレたててw
2017/11/17(金) 20:11:22.65ID:oYmLZZ1y
相手を理解しようとしないで自分のペースでしか話せないと苦労するだろう
ようはOOPSって
Object Oriented Programming Styleでしょ?
つまりオブジェクト指向プログラミングについて学べと言ってるんじゃ無いの?

ID:KuiGlQ+Xは、メリットデメリットって言ってるとこからして
オブジェクトを生成するってことを理解してないレベルの話だよねこれ
まずインスタンスにアクセスした事無いからインヘリタンスとか関係ない所でメリットについて疑問が湧いちゃったんだろうし
2017/11/17(金) 20:15:45.26ID:0jV1JJrR
>>991
うん。全くそうなんだけどねえ
(まあ、あんたは>>983で理解してくれてる/その前でもすでに理解してると思ってたけど)
993デフォルトの名無しさん
垢版 |
2017/11/17(金) 20:29:25.96ID:KuiGlQ+X
うーん、さっぱりわからないです。すみません。
とりあえずViewcintrollerでは-、汎用クラスは+で使い分けてたんですが、+のがメモリ食わないなら、なるべく+使っとけばいいんでしょうか
2017/11/17(金) 20:35:49.15ID:Q8rdVBz+
このかなり根本的なとこから理解してない感w
2017/11/17(金) 20:37:15.26ID:oYmLZZ1y
Viewcintrollerでメモリ使ってるんだから
Viewcintroller内で使うメソッドをメモリのためだけにクラスメソッドにする意味は無いし無意味
といってもまずインスタンスについて理解してないと、この話は進まないだろう

あなたの言う+を使ったメソッドで運用出来てるならそれで良いしそのうち躓くだろうから
そこで気づければ良いね
としか言えない感じの大きな壁があるように感じる
996デフォルトの名無しさん
垢版 |
2017/11/17(金) 20:46:44.49ID:KuiGlQ+X
クラスは設計図、インスタンスはクラスに基づいて作られた実体と聞きました。
設計図メソッドと実体メソッド?
どっちもおなじことできてるんでなんだろ?と思いました
997デフォルトの名無しさん
垢版 |
2017/11/17(金) 21:16:54.72ID:Eetf/DNi
クラスをメモリーにロードするとインスタンスになるという説明だと
どんな問題が起こるだろうか。
2017/11/17(金) 21:17:37.30ID:oYmLZZ1y
次スレ
Objective-C [ObjC part:9];
http://mevius.2ch.net/test/read.cgi/tech/1510920033/

リンク多いな
リンク切れは修正or代替サイトに変更しといた

即死回避何個だ?
999デフォルトの名無しさん
垢版 |
2017/11/17(金) 21:46:24.64ID:KuiGlQ+X
ググッてみました。
クラスの中のメソッド間で値の受け渡しが出来るのは、クラスメソッドのメリットですね。

でもインスタンメソッドでも@interfaceで変数定義したら受け渡しができちゃう。

うーん、インスタンスメソッドでいけるとこまでいけば道が開けるんですね
やってみます
2017/11/17(金) 21:48:09.39ID:oYmLZZ1y
>>996
どっちがどっちだか分け分かんなくなってるだろww

埋め
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 1112日 8時間 12分 52秒
レス数が1000を超えています。これ以上書き込みはできません。