オブジェクト指向の活用方法を教えて下さい

■ このスレッドは過去ログ倉庫に格納されています
2014/03/25(火) 21:44:07.66ID:AtcH5MLU
お願いします。言語は問いません。
オブジェクト指向言語じゃなくても
オブジェクト指向の話であれば問題ありません。
2014/04/17(木) 19:48:33.36ID:XZy5mn+7
>>303
じゃあ>>299の解釈が間違ってますね
うーん、Objectの代わりにnilから派生できるよ、としか汲み取れません
でもそれだとクラス階層のルートの必要性とは無関係の話だから違うんだろうな

自明の部分を取り違えないように省略せず説明して頂けませんか?
2014/04/18(金) 02:02:31.47ID:3m4Hm4jr
今更な反応だけど
メソッドチェーンのデバッグどうのこうのは
パワーアサートである程度解決できるんじゃね

テストとデバッグを同一視すんなとか言われそうだけど
そこはなんやかんやで
2014/04/19(土) 11:19:09.69ID:fQ1JDqwN
みんなモデリングツール使ってる?
2014/04/19(土) 15:25:11.54ID:7lbU/Cwq
UMLは手書きのノートに万年筆で描いてるけど?
2014/04/19(土) 15:25:52.03ID:7lbU/Cwq
ああ、もうすぐ司法試験なんだよなぁ・・・
今年も申し込みしてねーや。
仕事辞めたいわ
2014/04/19(土) 15:28:51.08ID:oGrzc7nx
ぜひ弁護士資格を取って人売り屋を訴えてやってください。
2014/04/19(土) 15:32:20.57ID:7lbU/Cwq
弁護士より裁判官志望なんだけどな。
知財専門の裁判官やるわ。
2014/05/02(金) 02:53:15.17ID:sB1UFa5X
裁判官になるのはある意味、終身刑になるようなもの
仕事にやりがいはないし、趣味、嗜好、信仰の類は一切行えない
どうしてもやりたいというなら止めないが、いいもんじゃないぞ
2014/07/11(金) 14:24:19.29ID:u5XcYD/q
確かに日本語ネイティブじゃないと解り難い表現ではある
2014/10/15(水) 02:03:28.04ID:fxqbNGWP
急にスレが死んだ
2014/10/16(木) 17:21:37.89ID:MhzmuNOz
>>217
>ライナスは OO をぼろくそにけなしているね

Linusが批判したのはOOPじゃなくてC++だろ(Cとの比較で)。
2014/10/18(土) 12:18:53.66ID:/oNwCDSd
似たようなものさ‥Linus が GC の存在を受け入れるわけがない
2014/10/18(土) 15:46:58.25ID:7/IQKq91
そりゃ、カーネルやドライバレベルの開発でGC付きの言語環境は要らんわ。
OOPの話題でリーナス発言を引き合いに出すのは的外れすぎる。
2014/11/05(水) 13:15:41.31ID:QbWIQhdw
OOPって結局、こういう考え方すれば分かりやすくなりますよって例でしかないからな
その考え方を前提に置けば、こういう表現ができますよって利点はいろいろな実装があるけど

完全性や効率性を犠牲に、可読性を上げて保守性や再利用性、試験性なんかを上げましょうってそういうものだと思うんだけど
2014/11/05(水) 20:29:01.97ID:NM+61D3j
OOPって結局、…でしかないからな

という奴って、OOP以外にも関数型言語でもアジャイルプロセスでも受託ビジネスでも
みーんな「結局、…でしかないからな」とわかったような気になるだけで
実際には何も身についてないんだよなw
2014/11/05(水) 23:26:57.45ID:UbfQ7xJO
オブジェクト指向は愚かな考え。排便メソッド2 [転載禁止]©2ch.net
http://peace.2ch.net/test/read.cgi/tech/1415122540/
2014/11/06(木) 08:17:55.90ID:WCLQna6c
>>31
「結局、ただの方法論でしかないからな」

方法を知っているかとそれをビジネスで生かせるかは全く別のスキルだしなー
321デフォルトの名無しさん
垢版 |
2014/12/15(月) 00:00:56.39ID:Ovh10mZl
カプセル化 ポリモーフィズム 継承を理解して設計出来る人って実際、何人に一人ぐらいに感じる?
2014/12/15(月) 09:52:17.25ID:z8CdksSX
ひとそれぞれ解釈違うからなんとも言えん
323デフォルトの名無しさん
垢版 |
2014/12/15(月) 11:05:06.23ID:cy4sFuPq
カプセル化&オブジェクト化の行き先は関数型プログラミングじゃないの?
2014/12/15(月) 12:54:30.82ID:t6/tpY1X
絶対違う
2014/12/15(月) 15:09:37.42ID:2aP18QTz
>>323
北極と南極の違いだろ。
OOPの落伍者のパラダイスが関数型なんだから。
2014/12/17(水) 11:09:29.57ID:N1jNpsSg
ポリモーフィズムは分かりやすいんだけどカプセル化がいまいちわからない
ゲッターセッター書いて何になるの?ってレベルの理解しかないから優しく教えて
2014/12/17(水) 11:58:16.14ID:qGVIuFRu
>>326
カプセル化はむしろ単純セッター書いたら負け
そのクラスの機能のみ提供して、内部実装を隠すのが要点
2014/12/17(水) 13:49:16.52ID:dSysfVHr
カプセル内では、他のオブジェクトの定義を知らなくても済むように書く。
閉じたオブジェクトにすればいい。
2014/12/17(水) 17:36:45.21ID:FGZvKMUK
>>326
基本的にそのクラスのメンバーはそのクラス内でいじられることを保障するため。
2014/12/17(水) 18:56:34.51ID:qGVIuFRu
実装を隠す
→知らなくても使えるように設計する
→使い方さえ変えなければいい
→中は変え放題、新しい使い方も追加放題

>>329
よくあるサンプルみたいに全メンバアクセッサ実装してるようなクソクラスだと
その原則破るための効果の方が強くなってしまうからなぁ

クラスの中から≠クラスファイルの中から
クラスの中から=クラス機能の中から
2014/12/17(水) 19:24:20.07ID:N1jNpsSg
327-330
いろいろありがとう
公開したいとこだけ公開すりゃいいのね
2014/12/17(水) 19:38:57.10ID:y3DoL19d
極論を言えば「公開」したら負けなのがカプセル化
2014/12/17(水) 21:14:17.50ID:lLmQTo2M
>>326
getter-setter をかましておけば、なにかのときに簡単に監視やフックを追加できる
2014/12/17(水) 22:00:02.25ID:adMFmMY0
>>333
ちょっとした用途ならリフレクションから呼べば良いじゃん
機能として提供する必要が出来たならそんな直接参照するような裏ワザ使わないで継承するなり追加するなりしようよ

影響が外に広がらないようにカプセル化して直接参照する手段を封じるんだから
直接参照できるセッターやゲッターつけたら保証できなくなるじゃん
2014/12/17(水) 22:40:02.99ID:lLmQTo2M
>>334
リフレクションは悪、コンパイル時に検出できるエラーがリフレクションにすると検出できなくなってしまう‥
まあ何でもかんでもsetter-getter で公開してしまうのはどうかと思うが(ましてやプロパティを公開してしまうのは最悪)
336デフォルトの名無しさん
垢版 |
2014/12/18(木) 15:10:59.93ID:ZOTu6c+H
おいおいインスタンスにアクセサなかったら、
そいつの状態を変えたりモニターしたりどうやるんだよ。
2014/12/18(木) 15:18:48.22ID:hbsgKLA0
>>336
状態をモニタするのは「モニタする」メソッドでやるべきじゃね?
状態を変えるなら、状態を変えるメソッドを通すべきだと思うし

もちろん、カプセル化の観点から見たら、の話ね
何か目的があってカプセル化を崩すなら、それはそれだろうし
338デフォルトの名無しさん
垢版 |
2014/12/18(木) 15:31:32.87ID:ZOTu6c+H
いやそのためのメソッドがsetter/getterだろうと。
2014/12/18(木) 16:01:52.60ID:a38PRbZq
>>335
> ましてやプロパティを公開してしまうのは最悪
.NETのクラスは山ほどプロパティを公開してるけど、これも最悪なの?
2014/12/18(木) 22:10:35.29ID:nYq1QBRW
>>339
>>335 はプロパティをフィールドと混同している気がする。
フィールドを公開するのが最悪、なら納得できるもん。

>>338
setter/getterはあくまで、結果としてそうなるだけのものだよ。

あくまで例えばの話だけど setLeft(), setRight(), setWidth() という3つのsetterがあったとして、
内部データは「left,right」でもいいし「left,width」でも「center,width」でも
「center,half_width」でもいい、もっと言えば「width,right」でも構わない。
まあよほど処理上の都合がないかぎり最後のを選ぶ人は少数だと思うけど、
どれが単純なsetter/getterになるのか、どれが違うのかは外からは分からない。
そして、それは分からなくていいものだと思うよ。

状態が最初にあって、それを見たり弄ろうと思うとsetter/getterになっちゃうけど
まずそのオブジェクトで何をしたいのかを考えて、それを実現するための内部構造と考えると
自然とカプセル化されてくもんじゃないかな。
341デフォルトの名無しさん
垢版 |
2014/12/18(木) 22:32:07.68ID:ZOTu6c+H
>>340
いやだからアクセサでオブジェクトの状態を変える・モニターするのは別に普通だろと言ってるの。
342デフォルトの名無しさん
垢版 |
2014/12/18(木) 22:55:00.66ID:CbZTNJ5S
Entityにgetsetつけてるのって何も考えてないとしか思えない
2014/12/18(木) 23:22:15.68ID:rHvMFTQj
状態変更やモニタするメソッドの名前をgetやsetにするのは自由だけど・・・命名規則的にそれってどうなの?
それに当然モニタリング機能を提供すべき責任を負ってるクラスだけだからな

状態を変更するメソッドならバリデーションや整合性チェック、状態変化に伴う動作まで含めて一つの完結した機能として定義すべきかな
状態変化監視するならオブザーバパターンで、JavaならpropeatyChangeListenerとか
実装して受け取るべきだと思う
もしくは監視用ステータスオブジェクトを返す感じとかか?
344デフォルトの名無しさん
垢版 |
2014/12/18(木) 23:28:53.90ID:ZOTu6c+H
ああ、俺が言ってるのは単純にプロパティの事だよ。
2014/12/19(金) 00:08:44.41ID:Z5vGYKdT
こういう説明はどうだろう?
NG:状態変数を取得するために状態変数取得メソッドを作った
OK:状態取得メソッドを作ったので保管場所として状態変数を作った

少なくとも設計段階でデザインするべき物かな
そうやってデザインの結果として一部にクラスに、
結果的に単純プロパティのような形の実装になった物が出来るの悪いことではないと思う
346デフォルトの名無しさん
垢版 |
2014/12/19(金) 00:25:25.61ID:kXOboZoh
始めからプロパティとして定義するものもあれば、
プライベート変数を後からプロパティに変更する事もあれば、
プロパティだったものをプライベート変数に変更する事もあるよ。
2014/12/20(土) 09:38:36.96ID:+GgZ8JtG
CTMCPでggr
2014/12/25(木) 01:56:12.77ID:FXTtDPDb
C++とかjavaは元来の意味でのオブジェクト指向じゃないからね
あくまで、オブジェクト指向に便利な機能つけた手続き言語

オブジェクト指向をきちんと使いたいならsmalltalk参考にしてる言語のほうがいいと思われる


例として、整数を文字列に変換するときに
Java
String.valueOf(48)

Ruby
48.to_s

48さんに文字列になって欲しければ、48さんのメソッド呼ぶのが本来のオブジェクト指向ー
2014/12/25(木) 02:01:12.47ID:FXTtDPDb
同じように、通信をするconnectionってインスタンスがあったとして

connection.status = Status::FINISHED

とかやっちゃうのはオブジェクト指向らしくなくて

connection.finish

で、終了処理から内部状態変更やらやってくれるのがオブジェクト指向
2014/12/25(木) 03:27:23.93ID:plZQlrr3
>>348
Staticメソッドを引き合いに出してJavaをけなしてもねえ……
2014/12/25(木) 03:29:07.82ID:EL6gBj3v
>>348
そりゃ OO 的には美しいが、レジスタ一個で収まるところをごてごてとデコレートするのもね‥
2014/12/25(木) 14:56:46.31ID:UXO0kBFe
手続きとOOを排他扱いする時点でお察し
2014/12/25(木) 15:07:57.78ID:ZM9QeVU6
まぁ、速度優先するならOOPだの関数型だの構造化だのオーバーヘッドの必要なルール止めて
シーケンシャルに処理手書きしていけよってなるしな

保守性とかほかの目的で冗長な記述をルール化してるんだし
354デフォルトの名無しさん
垢版 |
2014/12/27(土) 21:08:42.89ID:Dl8SRIg9
文字列とか数値とか考えないのがオブジェクト思考じゃないの?
2014/12/31(水) 03:38:42.55ID:GtslL7/x
基底クラスが「人」で、3つの派生クラスを作ってそれぞれに「.work()」を記述した場合で
3つの派生クラスの全インスタンスの「.work()」を実行したいときどのように管理すれば良いのでしょうか
自分では派生クラス毎にループを回すことしか思いつきませんでした
2014/12/31(水) 07:56:11.57ID:grXbYJWV
基底クラスにwork()を定義して、派生クラスでオーバーライドするとか
2014/12/31(水) 11:53:58.04ID:HNmCF9/p
>>355
「職業」インターフェースを追加して、work()を定義するかな

work()を使う側は、人に対して命令しているのではなく、職業の役割に対してその通り働けと言ってるわけだから
2014/12/31(水) 17:22:24.60ID:/ugoQQzd
>>355
そんなん、クラスが「基底か」「派生か」ということとは関係ないじゃん。

基底クラスのインスタンスを複数作成した場合でも、同じでしょ。

複数インスタンスに同時にメッセージを送るということなんだから。

ヒントはリスナー。
2014/12/31(水) 19:32:50.12ID:NQSYJ4L5
>>355
> 3つの派生クラスの全インスタンスの「.work()」を
> 実行したいとき

例えば Smalltalk なら

人 allSubinstances do: #work

とかそういうこと?
2015/01/01(木) 10:15:28.02ID:J+tSiQ0Q
Javaでクラスメソッド書いてると罪悪感あるんだけど、
副作用のない関数を書くんなら問題ないよね?

OOPっぽくないというのが罪悪感の原因だろうけど、
public staticで副作用のない関数だとむしろ書いていくべきだよね?
2015/01/01(木) 10:29:00.83ID:unDf2EkN
>>360
気にするとすれば、そのクラスに対して作用を持たないメソッドが何でそのクラスにあるの?ってところかな

クラスって、データと「そのデータに対する」操作の集まりだから。
影響を受けるデータの方に自身の操作として定義した方が良くない?

良くあるアンチパターンの機能クラスと、データクラスに分かれちゃってる手続き型設計
2015/01/01(木) 10:49:25.84ID:ZjnnyCSc
> そのクラスに対して作用を持たないメソッドが何でそのクラスにあるの?ってところかな

クラスを定義しないと関数を書けないからね。

> クラスって、データと「そのデータに対する」操作の集まりだから。

Math.sinなどのメソッドは、どのデータに対する操作かな?
やっぱ、関数、っていう使い方は生き残ると思うんよね。
2015/01/02(金) 03:24:38.38ID:Urv5GfAa
オブジェクト指向的にはstrategyっぽくオブジェクトにしとくべきなんだろうとは思う

んで、普通はAngleオブジェクトがあってそれがsinやらcosやらのオブジェクト持ってる感じじゃない?
2015/01/02(金) 18:16:39.18ID:u8eIFPVv
この話題でJava固有の話をするのは本意ではないんだけど、
やっぱプリミティブ型ありきの現状考えると、
式の中にAngle a = new Angle(PI/4)からのa.getSin().doubleValue()みたいなんが出てくるのも、
式の途中で new Angle(a + b) みたいな生成が混じるのもシンドイ気がする。

次に、プリミティブ以外に目を向けたとしても、
関数的に表現したほうが自然に見える操作もある。
たとえばファイルのコピーをするメソッドを考えたとき、
file.copyTo(other)というふうにするより、
FileUtils.copy(File src, File dst)となってるほうが自然に見える。
実際、Javaの標準ライブラリにおいてもjava.nio.file.Filesにおいて、
public static Path copy(Path source, Path target, CopyOption... options)
となってる。これも関数的アプローチの無くならない理由というか証拠のような気もする。
2015/01/02(金) 18:23:55.66ID:IjnWDn9W
>>364
public static Angle fromDegree(double degree);
public static Angle fromRadian(double radian);
public double sin();
public double cos();
...
でいいじゃん。
Angle.fromDegree(45).sin()とか。
2015/01/02(金) 20:15:57.81ID:86rXEaVV
三角関数自体は角度の持っている特性だからAngleから取り出せるものだけど、
数学としてそれを導き出す関数で概念化した法則≒数式はMathとして定義されていてもおかしくはないか

ただ、数式自体はオブジェクト(物)を扱わず、その法則のみを抜き出して机上で扱う関数の集合、
数学自体が物事をオブジェクトで表現せずに、関数で表現したもの(ただし、直接使え無いと超非効率になる)
って感じかな

>>364
ファイルのコピーはファイル自体の機能ではなく、その上のストレージに自身の保持してるファイルを複製せよって命令する感じのような
2015/01/02(金) 21:02:15.51ID:gr/6otir
>>365
そのnewを書く書かないとかcreateメソッドを準備するとかは興味なくて、
パラメータ→結果 で済む世界の話に短命オブジェクトを挟むのが嬉しくないよね?
絶対嫌だとか、困るとか言うつもりもないけど、今んとこメリットも見えないような。

>>366
関数型言語に詳しくてウンチクのひとつも言えるなら、
この気持ちスッキリ表せるんだろうけど、今の俺が言えるのは、
関数ありだよね、特に、式には関数だよね、みたいなことだけ…。

ファイルのコピーの例はご指摘を受け、自分の中では少なくとも、
「メソッド方式よりも、関数方式でスッキリする例」で無くなってしまったw
関数方式でスッキリするのはやっぱ数式関係だけ、なのかも。
2015/01/02(金) 23:29:08.38ID:Wdw9kQqY
基本的に読みやすいと言うか、その処理がどういう本質のものかをコード自体で示してるのが良いコードなワケで
数学関係の処理は、元が元だけに関数形式が一番本質に近いから、そりゃ関数形式が読みやすくもなるわな
2015/01/03(土) 07:48:27.17ID:aZa/y2Ql
>>367
Angleがどうして短命なわけ?Pointとの本質的な違いは?
全てはあんたの一方的な思い込みだよw
2015/01/03(土) 07:51:27.38ID:aZa/y2Ql
>>367は関数型に詳しくないだけじゃなくオブジェクト指向も初心者レベルだよw
2015/01/18(日) 03:08:14.87ID:1HDk1G1l
>>370
その理由は?
372デフォルトの名無しさん
垢版 |
2015/01/29(木) 11:14:38.08ID:FsmC2LI9
beanというかバリューオブジェクト?とユーティリティクラスって

効率のためにあえてオブジェクト指向の設計を崩して、
構造化プログラミングで設計するときに利用するものって考えでいいんですかね?

構造体と機能モジュールの関係そのまんまだし
2015/02/02(月) 21:59:42.72ID:Q01xzseR
ブログラマの質にできるだけ影響を受けないように
プログラムの質を維持するのが目的だろ。
プログラマの質の水準をどの程度と見るかで
求められる効果が変わってくる。
2015/04/12(日) 15:53:34.84ID:Buy3OTWo
恥ずかしながらC#やった時に初めて理解できたわ

IEnumerableとかIDisposableを継承すると馬鹿でも分かると思う
375東京女子医科大学病院プロポフォール大量投与
垢版 |
2015/06/08(月) 21:15:24.77ID:Fqp3awmG
マスゴミ・売国奴・医療業界が隠そうとする真実---------------------安楽死---------------------奴隷に勝手に死なれては困る

安楽死旅行企画が大人気|竹田恒泰チャンネル

https://www.youtube.com/watch?v=XmP1TRsAe88


武田邦彦:安楽死と大麻、そして売春・・・オランダに学ぶ

https://www.youtube.com/watch?v=nWV8YOY39tw


安楽死党

https://www.youtube.com/watch?v=8nU2UaSlGx0

自殺は後遺症が怖い!だから-----------------------------------安楽死制度-------------------------------------安心して生きるために
2015/08/29(土) 13:11:34.86ID:g7aWBHc9
全ての識別子をグローバルにして誰かと共同制作したいならどうぞ、って感じだな
2015/11/01(日) 11:36:44.47ID:hTxt2JkX
データ(変数群)と関数を関連付けすることでデータがデータとして存在するだけで意味がわかるのがオブジェクト指向
たとえば貨幣として扱いたいデータに対して、貨幣として必要な機能だけに関数を限定させれば、それはもうデータが存在するだけで貨幣として意味がわかる(貨幣以外の動作が起こり得ないから)

関数型言語だとデータを出力するまで貨幣かどうかは信用できない
変数 kahei に対して全ての関数が利用できるから、kahei はどうとでもなり得る

コメントつけろとかそういう原始的な話じゃなくてね
2015/11/02(月) 05:08:00.98ID:tRZ2mEuQ
その辺は言語の構造によって違うが
つーかオブジェクトの使われ方も言語によって全然違ったりするのでね
2015/11/02(月) 08:23:24.30ID:+vmX+mwq
あ、オブジェクト指向言語の実装とはちょっとかけ離れた例え話な
関数型言語で生きてきた人間にオブジェクト指向を説明する時にこういう話し方をする

勿論、実際には外部にある関数を変数に関連付けするわけじゃなくてクラス内部にメソッド(≒関数)を実装するわけなんだが

カッチカチの関数型人間がオブジェクト指向の意味を理解できるように、多少強引に言葉を改編してる

つっても >>377で理解できるのはカプセル化のメリットだけだからまだ全然オブジェクト指向を説明しきれていないが
2015/11/22(日) 11:27:04.36ID:yehd6qpM
ネットで調べていてもオブジェクト指向が分からない…。

仕事でVB(昔の)やってたんだけど、画面のプログラムは目次状態で動かす部分は全てモジュールに作って入れてた。
画面の目次(仮名)には
<モジュール名>//○○を行う
が続いてる状態で中身はモジュールへ、モジュール使い回ししながら作ってたんだけど(時折モジュール内にも目次できたりしてた)
これはオブジェクト指向とは違うの??
モジュールがクラスになっただけちゃうんかなって、うーん良く分からない。

違いを教えてください。
2015/12/17(木) 16:14:25.39ID:f9fm3u2u
全てプリミティブかつアクセサ禁止って破綻してる
アクセスできないからプログラムも書けん
2015/12/18(金) 04:38:42.92ID:TCff1iV0
>>380
vbのユーザー定義型とそれを扱うモジュール内の関数を一つのかたまりとして収めたのがクラスの考え方の原型。
vb なら本当のクラスも定義出来るんだが使ったこと無いのか?
2015/12/18(金) 07:38:43.70ID:VKllly6g
>>382
ありがとう。
うーん、前職、書き方に制限ありまくりだったからクラスって本当に分からない。
情報系の大学だったけどプログラミングはほとんどやらなかったのに、基礎があるからって叩き上げられた形だったのよね。前職。
VB456にあるのかな。
.NET使う頃にはSEになってしまったから.NETもさわりしか分からない。
何かもう自分取り残されてるな…。
2015/12/18(金) 20:50:42.22ID:rBQUliqS
一ヶ月も前のをまだ待ってたんかいな。
検索すればいきなり出てきそうなもんだけど。

オブジェクト指向ってのは、
データ構造と処理構造を動的にかつ個別に、そしてそれらを一体化して管理できるようにできる仕組み。

全部まとめたその一連の一体がクラス
動的に個別に扱ってるデータがインスタンス
インスタンスに対応した処理がメソッド
インスタンスを発生させるのがそのクラスのコンストラクタ
いらないインスタンスを消すのがデストラクタ

インスタンスってのは、動的に作られたクラスデータ(専用型)であり、さらにそのクラスが持つメソッドを呼び出すことが出来る。
したがってこう書ける。

//インスタンス = クラス名->コンストラクタ(引数);
//戻り値 = インスタンス->メソッド名(引数);

うさぎ = 動物->new(耳が長い、白い); //コンストラクタ起動。動的に新データを生成します。うさぎが産まれました。インスタンスは必要な情報を全て保持しているかのように振舞います。
きりん = 動物->new(首が長い, 黄色い); //きりんが産まれました。


跳ねた距離 = うさき->動け(跳ねろ); //動物クラスが持つ、動くメソッドをうさぎに適用しました。うさぎは跳ねたときのデータに書き変わります。疲労度が増えてるかもしれません。戻り値は跳ねた距離です。
食った葉っぱの枚数 = きりん->食え->(柳); //きりんに柳の葉っぱを食わせます。きりんの内部データは自動で腹が膨れます。戻り値として食った葉っぱが返されます。

きりん->死ね; //デストラクタ。キリンに関するデータを全部メモリから消去します。


メソッドは関数のようですが、当然インスタンスからしか呼ぶことができず、名前空間を汚しません。
きりんからメソッドを呼ぶと、メソッドはきりんの情報を受け取ります。(もしくはメソッドやクラス全体はきりんの情報をすでに持っていて、きりんから呼ばれたことをメソッド自身は知っており、きりんのデータを扱えます)。
2015/12/22(火) 12:13:39.68ID:aBFh4Ipr
勘違いが多々見受けられるので、もう少し勉強したほうがいいね。
2015/12/31(木) 03:23:42.07ID:riQaChnP
その言語のオブジェクト指向か、オブジェクト指向自体の定義か。
かなり違う。
2016/03/27(日) 21:38:57.58ID:N7IGtcj3
結局、設計って何のためにするの?
って言ったら読む人間にわかりやすくするためだから
いくら哲学でガチガチに固めても読み手が
「何これさっぱりわからなーい」って言ったらそこで終わりな
設計書と内容が乖離してるソースもクソだし
どの仕様を実現しようとして書いたコードなのかわからないのもクソ
そもそも仕様の定義が明確でないのなんてソース書く前からクソが漏れてる

ブリブリブリブリ漏れてる!
2016/03/28(月) 21:59:57.56ID:jI9F+kOe
家と同じ
無計画に建てたらあばら家になる
389デフォルトの名無しさん
垢版 |
2016/03/29(火) 09:35:59.83ID:/c8bAcK4
サッカーブッシュ日本代表日程ぷあたん(しゅっちょうまいくろ教育長交代)春文執行40代売上差額シュガーチョコ
https://www.youtube.com/watch?v=NDq1QoJY0nY宇ドナルドアナリストパワーストーンコーチングとしまえん
サッカーブッシュ日本代表日程古本屋よしたけしゅっちょうちょこしゅがー
ディーラー税務署天才開発者死亡詰みヨミドクターマイクロサービス不足
サッカーブッシュ日本代表日程ぷあたんシフト光金さかい強制バイト人権侵害問題
春分資源執行ニューヨーク低原価ぼったステーキソルトレイク福岡横浜新橋奴隷課金パチシフト強制バイト問題新潟米センター生残
コスメ24チャリティー隠れ40代生活保護プレイボーイバイトレードいたりあん接待問題
マスコミKARDローンケーオーサービス不足婚活パーティー寄付金執行原発ビジネス
FBIチャイニーズタイホテル売上事務所ガチャ決算ガチャキャンペーン(販売報道陣過激派組織向携帯最新情報提供終了
校長発言細心注意ノートン産廃エラー(著作権クレーム中国反応融資高額教育費)(中国捕鯨団体40代社員サッカーコメント
高額入学金ヤフウ新橋大学ヤフウ新橋理事長FX経費 おじや50代資産ガリバズフィード40代エリート
2016/03/29(火) 21:13:02.91ID:WTA2j3Vp
オブジェクト指向に何故するかと言えば
変数、プロパティは全てpublicにすればいいじゃないかと言うところから始まる
2016/03/30(水) 09:31:45.09ID:idf8Q5SU
それなんて構造体?
カプセル化なんて常識じゃんw
2016/03/30(水) 20:08:05.29ID:H6rY7wzp
>>391
常識になってるが故に何故する必要があるのか説明が出来ない人が多いかと

例えばオブジェクトのプロパティを全てpublicにしてコンピューターからしてみたらそれで何の問題があるのかと
2016/04/01(金) 18:13:49.68ID:ELyCfH/G
>>392
ばか?
2016/04/01(金) 18:22:47.72ID:TewsBR2n
>>393
でも全publicのプログラムって何の問題もなく動きますよね?それが悪いんですかね?
2016/04/01(金) 18:28:15.95ID:j6FPRdfu
CPUがpublicかprivateか判断するのか
2016/04/01(金) 19:43:57.88ID:RonLnaIy
あ、アセンブラ的な話はちょっと、、
2016/04/02(土) 06:38:34.56ID:vYH8mHjR
>>394
もうちょっと気合い入れて釣れよ
2016/04/02(土) 16:15:31.86ID:P45UDLlW
>>397
えー結構いいキレ具合やろ
2016/04/03(日) 21:25:16.27ID:AFllrpm9
キレ過ぎてストライクゾーンから外れてるんやで
もうちょい工夫して再チャレンジするように
2016/04/03(日) 23:25:16.70ID:I1bXI3bS
じゃあここはオブジェクト指向の大敵publicおじさん登場という展開の方針で
2016/04/03(日) 23:37:46.54ID:GlCd9dIf
Setter getter使えw
2016/04/04(月) 19:02:28.23ID:Pgq0yCJI
大敵はstaticおじさんだろ?
403デフォルトの名無しさん
垢版 |
2016/05/01(日) 15:58:07.83ID:tKi6j9CT
匿名通信(Tor、i2p等)ができるファイル共有ソフトBitComet(ビットコメット)みたいな、
BitTorrentがオープンソースで開発されています

言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか?

Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします
https://twitter.com/Lyrise_al

ちなみにオイラはCovenantの完成が待ち遠しいプログラミングできないアスペルガーw


The Covenant Project
概要

Covenantは、純粋P2Pのファイル共有ソフトです

目的

インターネットにおける権力による抑圧を排除することが最終的な目標です。 そのためにCovenantでは、中央に依存しない、高効率で検索能力の高いファイル共有の機能をユーザーに提供します

特徴

Covenant = Bittorrent + Abstract Network + DHT + (Search = WoT + PoW)

接続は抽象化されているので、I2P, Tor, TCP, Proxy, その他を利用可能です
DHTにはKademlia + コネクションプールを使用します
UPnPによってポートを解放することができますが、Port0でも利用可能です(接続数は少なくなります)
検索リクエスト、アップロード、ダウンロードなどのすべての通信はDHT的に分散され、特定のサーバーに依存しません
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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