オブジェクト指向を教えてくれ!★2

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2021/04/27(火) 15:02:28.94ID:mH9VXFld
オブジェクト指向について、調べれば調べるほど疑問が募ります。低レベルで粗末な疑問かも知れませんが、ご教授願いたいです。

・データと振る舞いをまとめる?
まとめると何か良いことあるの?
ファイルあるいはモジュールにはまとまってるよね?
丁度いい単位があるのに、何故わざわざオブジェクトという概念を導入するの?
(Javaには1ファイル1クラスという文化あるらしいけど)

・カプセル化?
モジュールのimport, exportでも実現出来るよね?
(構造体などへのアクセスを制限できれば)

・ポリモーフィズム?
別にデータと振る舞いをまとめなくても実現出来るよね?

・モノのように扱いたい?
モノとして扱いたいときに扱えば良くない? なんでわざわざ全てをオブジェクトにするの?

※前スレ
https://mevius.5ch.net/test/read.cgi/tech/1615881962/
634デフォルトの名無しさん
垢版 |
2022/08/22(月) 13:58:03.19ID:KX6mg0Ol
>>615
ほんそれ
めっちゃ判りますωωω=2πf
635デフォルトの名無しさん
垢版 |
2022/08/22(月) 14:01:45.39ID:MD3tlYEu
>>633
お前の名前だって後付だろ
だからといってお前に価値が無いわけではないだろ
生まれてきてくれてありがとう
636デフォルトの名無しさん
垢版 |
2022/08/22(月) 14:10:48.49ID:MD3tlYEu
エドガー・ダイクストラはGoTo文のパターンを整理してIfやForといった名前をつけた
今日のプログラミングではIfやForを使ってプログラムを作る
プログラミングにおいて名前を付けることは新たな道具の発見である
637デフォルトの名無しさん
垢版 |
2022/08/22(月) 14:12:05.65ID:MD3tlYEu
道具としての設計、深いね
2022/08/22(月) 15:06:13.89ID:3On+wPab
GARAMって何やねんw
マサラか?Racebookか?
2022/08/22(月) 17:37:57.52ID:mXL4Ef7K
>>636
社畜風情が勘違いしすぎw
社畜マがどのように何を考えて「誰でも出来る範囲の」コーディングをしようが
天才たちの知る話ではないという事だ

所詮、デザパタやオブジェクト指向含め、社畜マが何か真理とかと勘違いして勉強するけど
結局はただ世の中にあるソースコードに一貫性・規則性持たせる努力義務を課し
社畜達が保守点検しやすい規格をポンっと用意してるだけ
おわかりかな?
640デフォルトの名無しさん
垢版 |
2022/08/22(月) 17:53:24.28ID:MD3tlYEu
>>639
天才ねえ弱小少数派の意見は参考にならないな
所詮少数派だろ
641デフォルトの名無しさん
垢版 |
2022/08/22(月) 17:53:55.66ID:MD3tlYEu
天才にはそういうの必要ないとか、そういう詭弁の方が必要ないだろ
2022/08/22(月) 18:22:02.42ID:nNSUvGkU
>>639
やっぱりな 実装面しか 見えてない
底辺社畜の デザパタ嫌悪
643デフォルトの名無しさん
垢版 |
2022/08/22(月) 19:39:35.57ID:9gSL1iVp
GoFによると、会話の中で用いるために、デザインパターンに統一された名前がついていることは大切らしいぞ。
644デフォルトの名無しさん
垢版 |
2022/08/22(月) 19:44:10.29ID:9gSL1iVp
建築家クリストファー・アレグザンダーが提唱したパターン・ランゲージの一部として捉えると理解しやすいかもしれない。
2022/08/22(月) 19:44:59.09ID:mXL4Ef7K
天才が考えた正規表現を見てみるか、オブジェクト指向だったら
replace(regex , "$1,$2,$3")
こんな実装許されないよ? 可読性低すぎ 引き継ぐ次の人の事考えてない社畜としてあるまじき関数だ
こんな自作関数定義したらすぐクビだね


何らかのデザインパターンに沿ったオブジェクト指向なら、こうするべきだろう 異論は認めるよ
o = obj.new(str)
o.replace(regex)
o.Regex["$1"]
o.Regex["$2"]
o.Regex["$3"]
646デフォルトの名無しさん
垢版 |
2022/08/22(月) 19:47:53.25ID:IDLZh6tD
あああれね
647デフォルトの名無しさん
垢版 |
2022/08/22(月) 21:05:25.05ID:MD3tlYEu
>>645
デザインパターン以前に正規表現に対する理解が不足してるように思われる

正規表現は式からオートマトンを生成して
オートマトンに文字列を入力してオートマトンが終端状態に達するか確認するものなんよ

よって作成するオブジェクトはオートマトンを内部に保持するものだよ

こんな感じ
re = Regexp.Compile(expression)

使うときはこんな感じ
re.Replace(source, destination)

式が固定ならオートマトンオブジェクトを使い回すことで式からオートマトンを生成する処理を減らせる
直感的で性能の良いオブジェクトのできあがり
2022/08/22(月) 22:06:19.63ID:7j1cHr1r
>>645
何らかのデザインパターン!?
何らかのデザインパターン!?
何らかのデザインパターン!?
wwwwww
2022/08/22(月) 22:06:29.75ID:mXL4Ef7K
>>647
正規表現って文字列だけだと思ってるだろ
プログラミング言語には実装されてないだけで正規表現は文字列に限定しないぞ

そもそもコンピュータにおいて文字列と配列って言語によっちゃ近いものなんだよ
配列を正規表現できるってことは、構造体も正規表現できるだろ
じゃあ次は構造体を正規表現したらアプリケーションも正規表現できるぞ
なぜやらないんだ
2022/08/22(月) 22:12:22.43ID:mXL4Ef7K
正規表現で配列・構造体・アプリケーションを書かれると、人が理解できないからだぞ
人が理解できないと、限りなく短縮された表記を捨てて
一次変数や、コメントや、オブジェクト指向という冗長したものをソースコードに入れる必要がある

でざいんぱたーんもそのひとつ

理解(りかい)できない人(ひと)のために冗長(じょうちょう)したものをプログラミング(ぷろぐらみんぐ)言語(げんご)にいれる必要(ひつよう)がある
2022/08/22(月) 22:14:42.04ID:IED0fuHl
>>645
>replace(regex , "$1,$2,$3")
string.replace(regex, "$1,$2,$3")と書きたかったのかな?
じゃないならreplaceする入力値はいずこ?
652デフォルトの名無しさん
垢版 |
2022/08/22(月) 22:15:58.07ID:MD3tlYEu
>>649
正規表現はあくまでも有限オートマトンなので限界があるよ
JSONさえ書き表せないのにアプリケーションは無理じゃないかな
2022/08/22(月) 22:22:53.84ID:mXL4Ef7K
>>651
this selfくらい知っておけw

>>652
文字列は配列であり、配列は構造体である
って分からないのかな?
C言語でポインタまともに学んでるかどうかだな
654デフォルトの名無しさん
垢版 |
2022/08/22(月) 22:24:54.46ID:MD3tlYEu
>>653
それは実装によるでしょ
JavaScriptでは文字列を木構造で管理してるよね
655デフォルトの名無しさん
垢版 |
2022/08/22(月) 22:28:36.05ID:MD3tlYEu
仮に文字列が配列だったとしても
正規表現はあらゆる文字列を扱えるわけではないよね
たとえばJSONは正規表現では扱えない
JSONも扱えないのにアプリケーションを正規表現で書くのは無理じゃないかな
656デフォルトの名無しさん
垢版 |
2022/08/22(月) 22:30:36.09ID:MD3tlYEu
木構造やリストなど再帰的データ構造は正規表現では無理
657デフォルトの名無しさん
垢版 |
2022/08/22(月) 22:32:35.76ID:MD3tlYEu
「文字列は配列だ」

「アプリケーションを正規表現で書ける」

間には大きな隔たりがあるよ
658デフォルトの名無しさん
垢版 |
2022/08/22(月) 22:39:44.17ID:MD3tlYEu
オブジェクト指向の話に戻すと
オブジェクト指向では文字列オブジェクトの内部で配列を使ってるかを気にする必要はないよ
オブジェクトの内部に依存するプログラムを書かなければいけないならオブジェクトの設計がよろしくない
2022/08/22(月) 22:46:38.86ID:DzJdXfIv
>>653
>this selfくらい知っておけw
いや何言ってんのw
マジでw
2022/08/22(月) 22:48:11.12ID:mXL4Ef7K
>>654
実装っていうかね
最もコンピュータにとって素早く無駄なく処理できる構造体って、ようはCの文字列、バイナリだろ
正規表現ってのはC言語で使えば実感わくだろうけど、メモリーマップにある指定場所のバイナリを弄ってるんだよ
そしてC言語ってのは文字列と配列と構造体の敷居が非常に薄い
あとはもうわかるでしょw
難しい話だねw
2022/08/22(月) 22:52:49.94ID:mXL4Ef7K
>>659
経験した言語が少なすぎる・・・
this self省略したソースも見たことないのか
662デフォルトの名無しさん
垢版 |
2022/08/22(月) 23:08:38.51ID:MD3tlYEu
>>660
> 最もコンピュータにとって素早く無駄なく処理できる構造体って、ようはCの文字列、バイナリだろ
処理によるんじゃなかろうかと
配列と木構造では計算量が異なるからね
配列が優れてる処理もあれば木構造が優れてる処理もある
配列はたとえば値を単純に追加していく処理や任意の位置に値を挿入する処理が苦手
あなたが何を言いたいかは俺にはわからないな
2022/08/22(月) 23:18:57.00ID:+smb9hfw
>>661
Stringクラスとかに追加するある関数の中で
this.replace(regex, "$1,$2,$3")
と書いた例だったの?
オブジェクト指向とか言ってんのに
あえてレシーバーを省略する意味もわからんけど
例がヤバすぎやろ

o.replace(regex)はどこにthis/selfが省略されてるのかな?
難問すぎるわw
2022/08/22(月) 23:23:58.47ID:ouMbOMLC
>>649
その文字と文字じゃないものってどういう区別で言ってる?
正規言語の入力は有限でお互い識別できる記号の列である必要があって、通常それを文字と呼ぶ。
665デフォルトの名無しさん
垢版 |
2022/08/22(月) 23:36:53.17ID:MD3tlYEu
本人も自分が何を言ってるのかわかってないんじゃないかな
思考がぼんやりとしてる人っているからね

小泉環境大臣「くっきりとした姿が見えてるわけではないけど、おぼろげながら、浮かんできたんです。46という数字が」
2022/08/22(月) 23:50:24.80ID:694tsCIv
>o = obj.new(str)
>o.replace(regex)
>o.Regex["$1"]
>o.Regex["$2"]
>o.Regex["$3"]

意味不明なコードなんだが
何をしたいのか誰かエスパー解説してくれ
2022/08/22(月) 23:58:25.34ID:mXL4Ef7K
まずそもそもオブジェクト指向以外の例として正規表現の可能性に触れたけど、「正規表現でもプログラミング可能」という1例に過ぎず
その一つすら理解できないでそこの話もっとしなきゃいけないのは面倒くさいよw
せめて文字列=配列=構造体=アプリケーションでイコール繋がってくれる基礎教養のある人に
「気づき」を与えたいだけのレスであって、基礎知らないないで分かった振りしてる人じゃどうにもならないなあ
2022/08/23(火) 00:21:58.37ID:6cMJUoZ7
「負け犬の捨て台詞」パターンですねw
669デフォルトの名無しさん
垢版 |
2022/08/23(火) 02:18:11.31ID:KidTnCDV
正規表現とは「文字列の集合を表す文字列」でしかない。
670デフォルトの名無しさん
垢版 |
2022/08/23(火) 10:32:18.96ID:IsFqNvj1
>>665
4610
671デフォルトの名無しさん
垢版 |
2022/08/23(火) 10:34:14.76ID:IsFqNvj1
>>666
perlでもpythonでもawkでもなんでもいいから正規表現を覚えろ
2022/08/23(火) 11:11:51.25ID:2q1deNyi
何か偉そうにイキってても
コード書かせたら>>645レベルとかw
リアルでは滅多にお目にかかれない低レベル
673デフォルトの名無しさん
垢版 |
2022/08/23(火) 11:41:13.55ID:D4nlQpW0
オブジェクト指向あたりから、マジで数学センス言語センス皆無の
奴がSEとして業界に受け入れられ始めたことを考えると
センス皆無の奴を雇って請負賃金を請求してフィーを掻っ攫う分にはガチで役に立つんだろうなと思ってる

まあ数学も言語もできないやつにデザインセンスが備わるとも思えないので
デザインパターンを暗記して教条的に語るしかできない自称設計集団が出来上がったと
2022/08/23(火) 12:18:38.76ID:IfPFAXMx
>>666
「python regex」で検索しても、pythonには無い

誰かのモジュールかも
2022/08/23(火) 12:40:33.27ID:1CCdBPvQ
自称数学センス言語センスのある人が書いたコードが>>645

まさかぁwww
算数センスすらないじゃんwww
2022/08/23(火) 12:44:01.84ID:FGlQHgnF
自称数学センス言語センスのある人は文系SEにこき使われてルサンチマン溜まってるんだろう
でも客観的に見ればデザインパターンを理解してる文系SEのほうがよっぽど使える
現実逃避は辞めてさっさと仕事しろ
677デフォルトの名無しさん
垢版 |
2022/08/23(火) 12:44:29.11ID:VnJ9tKCp
> 何らかのデザインパターンに沿ったオブジェクト指向なら、こうするべきだろう 異論は認めるよ
> o = obj.new(str)
> o.replace(regex)
> o.Regex["$1"]
> o.Regex["$2"]
> o.Regex["$3"]

衝撃的、こんなのありえないだろ

みながわけんじさんのIteratorパターン以来の衝撃
https://ameblo.jp/kenchaz/entry-12247911109.html
678デフォルトの名無しさん
垢版 |
2022/08/23(火) 13:21:43.47ID:IsFqNvj1
>674
なんでpythonだと思ったし
2022/08/23(火) 14:22:40.20ID:c/0mff1K
>>675
5chでよく見かける「自称数学センスパターン」ですよ
2022/08/23(火) 15:20:07.07ID:wh5MBrVG
>>677のリンク読むと本人じゃないかと思うくらい発想が似てるな
681デフォルトの名無しさん
垢版 |
2022/08/23(火) 16:28:16.18ID:D4nlQpW0
デザインパターンにハマるのは理系コンプレックスの典型ってことか

正直オブジェクト指向のワード使ってお客さんと会話できるとは到底思えんけどな
どちらかというとJavaというそこそこ出来の悪い言語の面倒を見せられているプログラマが
運用困難なコードを見てあり得ぬ幻想を抱いているケースの究極がデザインパターン

くっそめんどくさい議論をしてるのは、言語デザインの欠陥の埋めあわせと気付けない奴が
デザインできるわけねえし、そんなもん引きずりながら顧客と会話できるとは到底思えん

現代建築におけるパターンをどう建築物に活用するかを考えてるんじゃなくて
もうすでに漏水してるプログラムをどう止水するかを考えてるんだから
デザインパターンじゃなくて施工管理パターンだよ
ブリッジパターンなんてまさしくそれだよな
682デフォルトの名無しさん
垢版 |
2022/08/23(火) 17:48:35.11ID:D4nlQpW0
ブリッジパターンが示唆する継承よりコンポジションというのは、
結局のところ継承型クラスベースオブジェクト指向のほぼ全否定なわけで

ブリッジパターンによって君たちははじめて、
傾斜した地面に垂直に柱を立てなくていいことに気がついたみたいな顔をしてるわけだな

でも地面そのものが傾斜していることにまだ気づいてないから
案の定柱が鉛直に立つことはないんだけどなw
デザインパターンのカケラを全部集めても地面そのものが傾斜していることにやはり気がつかない

パターンを暗記することで必死で、対象を観察し「解く」力が身に付かないからか、
今までかけてきたサンクコストが大して意味がないことに気付きたくないか、
「私は設計している」という自意識すら捨てたらキャリアとして何も残らないからか、

理由は大体この3つで説明できる
でもいくら誤魔化す言葉を覚えたところで、素人は騙せても本職には見抜かれる
まあそれでも素人をケム撒いて騙くらかすにはちょうどいいツールだと思うわ

まあこんなものを信仰して具体的な問題解決をやってこなかった奴は
窓際やるか情弱騙しするしかキャリアなくなるから、警告してるんだけどな
2022/08/23(火) 18:27:10.57ID:wRL+Fgoq
>>682
俺は手続き王になる!まで読んだ
684デフォルトの名無しさん
垢版 |
2022/08/23(火) 18:28:20.32ID:VnJ9tKCp
例え話でデザインパターンをわかった気になる人っているよね
685デフォルトの名無しさん
垢版 |
2022/08/23(火) 18:29:18.40ID:3TGazBBm
>>673
数学が出来れば、SEなんかやっていないのでは?
2022/08/23(火) 18:40:43.98ID:TYuARyGP
>結局のところ継承型クラスベースオブジェクト指向のほぼ全否定なわけで

典型的パターン厨二病やんw
パターンをちょっとかじったやつがよくかかるんだよなぁこれ
三人に一人は発病するやつ
687デフォルトの名無しさん
垢版 |
2022/08/23(火) 18:43:38.69ID:BrHQ0T2j
見捨てて放っとけば良いのに
警告して差し上げるなんて
ホントは親切な香具師ですね
688デフォルトの名無しさん
垢版 |
2022/08/23(火) 19:37:04.00ID:VnJ9tKCp
デザインパターンは客と会話するためのものじゃないからなあ
ここでの客はエンドユーザという意味で元請けの意味ではないとして

商品の話、商品作りの話、製品の話、製品作りの話、いろんな話がある

客と会話するのは商品の話で
デザインパターンは製品作りの話だ

それぞれ文脈が異なるので客との会話でデザインパターンを使わないからデザインパターンは意味がない
というふうに話を展開するのは論理的に誤りだと思う

システムにレイヤーがあるようにお話にもレイヤーがある

昨今はお話のレイヤーを整理して建設的に議論しましょう
というのをファシリテーションと呼んで取り組んでる組織もある

デザインパターンの話に客なんかいらんのですわ
客にわからんような話をプログラマ同士でするそれが楽しいことってあるよねってこと
689デフォルトの名無しさん
垢版 |
2022/08/23(火) 20:04:51.87ID:VnJ9tKCp
デザインパターンとは少し違うけどオブジェクト指向の話ということでDDDの話をします

DDDはソフトウェアの設計手法の一つでユーザと開発者でドメインモデルを共有して
それに従って開発を行うもの

軽量DDDはDDDで行うようなことを形式的に適用して設計するっていうものなんだけれども
これには批判的な意見も散見されて「ユーザと向き合わずに何がDDDか!けしからんワシはこんなもの認めんぞ!」
と息巻いてる人もいるんだけれど

僕は良い設計はあるていど形式的に導けるんじゃないかと思っててユーザと向き合わなければいけないっていうのは
ただの感情論なんじゃないかなって思ってる、僕は軽量DDDが好きです
690デフォルトの名無しさん
垢版 |
2022/08/23(火) 20:09:38.06ID:VnJ9tKCp
数学の哲学に直観主義と形式主義があるように
オブジェクト指向にもユーザ主義と形式主義があるのかもわからんね
2022/08/23(火) 21:15:31.28ID:SQ92XvrK
>>689
「俺はDDDについて語りたい!(誰も聞いてくれないから)」まで読んだ
692デフォルトの名無しさん
垢版 |
2022/08/23(火) 21:26:46.29ID:VnJ9tKCp
>>691
縁ができたな
693デフォルトの名無しさん
垢版 |
2022/08/24(水) 09:16:16.63ID:8fOu5lGq
賛成派にしろ反対派にしろ
アスペ気質の人ほどデザパタに拘る傾向がある
694デフォルトの名無しさん
垢版 |
2022/08/24(水) 09:56:48.03ID:2NYz2iYF
デザパタに拘る人って
やだやだここはブリッジパターンじゃなきゃやだー!
みたいなことを言う人のことか
気持ちはわかるけどなブリッジパターンにはそれだけの価値がある
2022/08/24(水) 11:05:53.89ID:T3KCprBX
>>693
君はアスペ気質なのに拘らないんだね
拘る人はアスペ気質が多いがアスペ気質だからといって拘るとは限らないということか
2022/08/24(水) 11:47:40.69ID:kB0Adp7j
作ってたら自然と何かのパターンと似てたみたいな事はあるが
最初からこのパターンで行くみたいなのは無いw
2022/08/24(水) 12:17:24.87ID:V75Y1Kc/
知らずにパターンを使ってたなんてことは誰しもが経験すること
ただブリッジパターンすら知らないやつはその当たり前のことにさえ気付けない
ゆえに底辺ゴミプログラマーとして捨てられ5chでのみイキる日々を過ごすことに
2022/08/24(水) 14:32:08.32ID:KC8hhP6y
こんな1日に100も書き込みのない板でわけのわからないことゴニョゴニョいっても誰も聞いてないぞ
699デフォルトの名無しさん
垢版 |
2022/08/24(水) 14:42:17.15ID:2NYz2iYF
Read Only Memberの数がRead And Write Memberの数の100倍だとすると結構見てるんじゃね
みんなに見られてるぞ、いまどんな気持ち?
2022/08/24(水) 14:56:21.92ID:osVdKUAR
(チッ 誰も見てない過疎スレだから一人でイキれると思ったのに・・・ by >>608)
2022/08/24(水) 15:36:19.24ID:KC8hhP6y
俺は数年ぶりにここ来たけど、当時よりもさらに半減未満まで過疎ってると思うよ
昔はまだ進行してるスレ10個くらいあったのに今2,3個じゃね
ム板も世代交代も失敗してるから知識の古いアプデ出来ない奴らの墓場みたいな空気もあるし
こんな場所でグダグダいってるの精神障害か何かやろ
702デフォルトの名無しさん
垢版 |
2022/08/24(水) 17:48:37.13ID:8kszl2LO
5ch全体で人が減ってるからね
703デフォルトの名無しさん
垢版 |
2022/08/24(水) 18:23:25.19ID:2NYz2iYF
限界集落で頑張ってるみなさん
704デフォルトの名無しさん
垢版 |
2022/08/24(水) 18:24:50.24ID:2NYz2iYF
オブジェクト指向そのものへの関心が薄れたっていうのもあるかもね
それだけオブジェクト指向が成熟して社会一般に浸透したってことだと思う
705デフォルトの名無しさん
垢版 |
2022/08/24(水) 18:30:59.04ID:pzIaysvS
世界で最も注目を浴びてる関数型言語、Javascriptもオブジェクト指向では?
706デフォルトの名無しさん
垢版 |
2022/08/24(水) 18:48:59.85ID:2NYz2iYF
そうです、すべからくプログラミング言語はオブジェクト指向です
707デフォルトの名無しさん
垢版 |
2022/08/24(水) 18:51:54.43ID:pzIaysvS
X11はC言語で書かれているけど、オブジェクト指向ですよね。
708デフォルトの名無しさん
垢版 |
2022/08/24(水) 18:54:46.36ID:pzIaysvS
ファイル・システムも、ファイル・ハンドルをオブジェクトを識別するハンドルと考えれば、ファイルオ・ブジェクトにOpenとかReadとかメッセージを送ってることになりますよね。
目を細めてよく見ると、オブジェクト指向に見えます。
709デフォルトの名無しさん
垢版 |
2022/08/24(水) 19:09:11.32ID:pzIaysvS
ハンドルが在る時点でカーネル・オブジェクトなので、オブジェクトにメッセージを送ってると考えられませんかね?
710デフォルトの名無しさん
垢版 |
2022/08/24(水) 19:10:37.69ID:pzIaysvS
ウィンドウ・ハンドルが在れば、ウィンドウ・オブジェクトが在るってことですもんね。
2022/08/24(水) 19:55:40.41ID:R+Be5CC+
ウィンドウハンドルとかthisポインタとか、これとは別スレの2スレ目とかでいい話聞けたよ

その頃からチンポ君が執拗に邪魔してたけど、しばらくおとなしいうちがチャンスだね
2022/08/25(木) 11:22:25.70ID:YacgANjm
チンポ君って元京大生のコテだっけ?
就職とか職業とか進路どうなったんあいつ
713デフォルトの名無しさん
垢版 |
2022/08/25(木) 12:46:32.14ID:xnjwdHNi
>>712
「オブジェクト指向とは何か」について、他にもっとわかりやすい説明が有るのか?
2022/08/25(木) 15:33:06.55ID:YacgANjm
何いってるかわからん
715デフォルトの名無しさん
垢版 |
2022/08/25(木) 16:17:02.32ID:aB2ZD8QA
オブジェクト指向とは何か、誰にでも分かりやすくここで書け!

画像貼りでもいいぞ!
716デフォルトの名無しさん
垢版 |
2022/08/25(木) 16:23:56.31ID:0z7AphVM
>>715
オブジェクトは属性と操作を一体化したもののこと
オブジェクト指向はオブジェクトを中心に物事を行うこと
717デフォルトの名無しさん
垢版 |
2022/08/25(木) 16:24:03.42ID:0z7AphVM
余裕でした
718デフォルトの名無しさん
垢版 |
2022/08/25(木) 16:24:36.94ID:oeVhxESW
>>1
>・カプセル化?
>モジュールのimport, exportでも実現出来るよね?

それはそのとおりであるが、概念としての「カプセル化」というのは、

>(構造体などへのアクセスを制限できれば)

その時その場で、考えなくても良いことは考えないようにしようということ!

例えばオシッコを出したり止めたりするのに、「前立腺とか外尿道括約筋の機能」を考える必要無いよね?

考えるべきは、チンポがひん曲がってオシッコが便器からはみ出ないようにすること、違うか?

210 デフォルトの名無しさん 2021/07/30(金) 00:45:15.42 ID:T4chNKrF
>>208
> チンポはオシッコを出したりオシッコを止めたりする機能が備わっている。
…… まぁ、放っといたほうがいいんだろうが、ひとこと。
「オシッコを出したりオシッコを止めたりする機能」は前立腺とか
外尿道括約筋の機能であって、チンポの機能ではないと思うが。
719デフォルトの名無しさん
垢版 |
2022/08/25(木) 16:37:37.14ID:oeVhxESW
それは「オブジェクトの継承」を説明できているのか?

例えば属性と操作が一体化されたオブジェクトについて、何をどう「継承」したら良いのかを述べろ!

716 デフォルトの名無しさん 2022/08/25(木) 16:23:56.31 ID:0z7AphVM
>>715
オブジェクトは属性と操作を一体化したもののこと
オブジェクト指向はオブジェクトを中心に物事を行うこと
720デフォルトの名無しさん
垢版 |
2022/08/25(木) 16:40:32.66ID:0z7AphVM
>>719
継承はオブジェクト指向とはいっさい関わりがない
継承のことは全部忘れろ、まったく関係がない、二度と俺の前で継承と言うな
721デフォルトの名無しさん
垢版 |
2022/08/25(木) 16:45:47.60ID:oeVhxESW
>>720
>継承はオブジェクト指向とはいっさい関わりがない

クリントン大統領の「不適切」というのは、チンポが独立して主体意思でシコシコしてしまったから。
チンポは独立した生き物であり、アメリカ大統領の権限をもってしても、制御することは不可能だ。

クリントンの「不適切な関係」
https://eigo-kobako.blog.so-net.ne.jp/2008-06-21

class チンポ extends クリントン{
     super.不適切な関係;
}



クリントンーーーーーーーーーー
┃             ┃
┃             ┃
┃             ┃
┃             ┃
┃             ┃
ーーーーーーーーーーーーーーー
     ┃チンポ┃
      ̄ ̄ ̄ ̄
『人格を性欲に乗っ取られる』、つまりクリントンはチンポに人格を乗っ取られて、チンポにシコられてしまった!
722デフォルトの名無しさん
垢版 |
2022/08/25(木) 16:50:53.95ID:0z7AphVM
かつては、オブジェクト指向の三大要素はカプセル化、継承、多態性と言われていた
三大要素のうちどれがオブジェクト指向の本質か問う議論があった

実際のところ三大要素はカプセル化によって継承が成り立ち継承によって多態性が成り立つ関係にある

カプセル化 → 継承 → 多態性

三大要素はあくまでも段階的なものであって独立しているものではない
最も基本にあるのはカプセル化なのでオブジェクト指向の本質はカプセル化だ
723デフォルトの名無しさん
垢版 |
2022/08/25(木) 16:52:54.85ID:tvghOCYx
なぜ一人の人間を、いくつものオブジェクトに分割して考える必要が有るのか?

>>1
>丁度いい単位があるのに、何故わざわざオブジェクトという概念を導入するの?

上記メリットは人の体を例にするとわかりやすいかもしれません。
例えば、「肺」と言えばおそらく誰もが呼吸という役割を想像できると思います。(役割が明確)
しかしどのように作用しあって肺が体へ酸素を取り入れているか?は知らなくても呼吸ができます。(利用のし易さ)
また少し呼吸がし辛いなと思えば肺の不調を疑えるはずです。(エラー個所の特定)
肺は肺として独立した機能を持っているため、もし肺を手術することになったとしても
他の器官の手術も一緒にしなくてはならないといったことは起こりにくいです。(変更による影響)
https://works.forward-soft.co.jp/blog/detail/10230

更に言えば肺に独立した人格は無いが、チンポには独立した人格が有る!
724デフォルトの名無しさん
垢版 |
2022/08/25(木) 16:58:52.41ID:tvghOCYx
オブジェクトの独立性が、なぜ不可欠なのか?

>>722
>三大要素はあくまでも段階的なものであって独立しているものではない

まずは、勃起するとき。
キミたちは「勃起するぜ!ウオォォー!」って思うだけでチンコが勃つか?
そんなことはない!
https://tottokotokoroten.hatenadiary.com/entry/20130516/1368716650

チンポはそれ自身が脳とは独立した自我を有している、違うか?

https://mobile.twitter.com/taichinakaj/status/1356646425728221185

プロ奢ラレヤー寿司DMしろ
@taichinakaj
そりゃあ女性の生理も大変そうだけど、男性の「人格を『おちんちんに乗っ取られる時間』が、予告なしで高頻度で訪れる」という仕様も、中々に大変なことだと思うな。ぼくは比較的軽いほうだから良かったけど。意志の大きさとかではなく、生理と同じように『おちんちん乗っ取りパワー』にも重さがある。
https://twitter.com/5chan_nel (5ch newer account)
725デフォルトの名無しさん
垢版 |
2022/08/25(木) 17:21:45.11ID:EyQhOhRD
人の身体でも、抽象化を理解できます。皮膚は、消化や歩行などの身体活動を担う内臓や筋肉などの部位を隠す抽象化の役割を果たします。
https://jp.indeed.com/career-advice/career-development/what-is-object-oriented-programming

オシッコを出したり止めたりするときの抽象化!

210 デフォルトの名無しさん 2021/07/30(金) 00:45:15.42 ID:T4chNKrF
>>208
> チンポはオシッコを出したりオシッコを止めたりする機能が備わっている。
…… まぁ、放っといたほうがいいんだろうが、ひとこと。
「オシッコを出したりオシッコを止めたりする機能」は前立腺とか
外尿道括約筋の機能であって、チンポの機能ではないと思うが。
2022/08/25(木) 17:50:25.11ID:S+zaiKgh
みんなごめん
逆にチンポ君を召喚しちゃった
監視はしてたんだ
727デフォルトの名無しさん
垢版 |
2022/08/25(木) 18:09:33.75ID:EyQhOhRD
>>726
「オブジェクト指向」について、他に分かりやすい説明は?
2022/08/25(木) 21:06:46.89ID:lxSgh9pV
>>722
このスレで珍しくまともなレスやな
ただカプセル化がなくても継承は成り立つし
多態性も継承がなくても成り立つ
特に継承は多態性を実現する一つの手段
729デフォルトの名無しさん
垢版 |
2022/08/25(木) 22:23:47.63ID:xnjwdHNi
合成
継承自体は悪くないので、誤解しないでほしいです。しかし、それをうまく利用するには、実装前に全部の条件を知る必要があります。
それはなかなかない贅沢なので、合成パターンを使います!
この場合の合成は何かというと、オブジェクトを、そのオブジェクトができる行動の組み合わせとして捉える考え方です。
https://qiita.com/jlkiri/items/2c07d3f0a32f5d3b62cb

210 デフォルトの名無しさん 2021/07/30(金) 00:45:15.42 ID:T4chNKrF
>>208
> チンポはオシッコを出したりオシッコを止めたりする機能が備わっている。
…… まぁ、放っといたほうがいいんだろうが、ひとこと。
「オシッコを出したりオシッコを止めたりする機能」は前立腺とか
外尿道括約筋の機能であって、チンポの機能ではないと思うが。
730デフォルトの名無しさん
垢版 |
2022/08/25(木) 22:34:15.48ID:xnjwdHNi
オシッコするときのチンポはオシッコの機能だけを考えればよいのであって、勃起その他は必要無いだろう?

よって我々はモノに着目している場合ではない。機能に着目すべきなのだ。インターフェイスとは機能を
ユーザー側の視点から記述したものだ。これによって機能を構成するものの中でユーザーが知る必要のない情報(実装)を隠蔽するのである。
各コンポーネントが自分が知る必要のあることだけを知ることで、現代の複雑かつ大規模なソフトウェア開発が可能になるのである。
https://qiita.com/hush/items/33da14ddf45f45b5ef65

210 デフォルトの名無しさん 2021/07/30(金) 00:45:15.42 ID:T4chNKrF
>>208
> チンポはオシッコを出したりオシッコを止めたりする機能が備わっている。
…… まぁ、放っといたほうがいいんだろうが、ひとこと。
「オシッコを出したりオシッコを止めたりする機能」は前立腺とか
外尿道括約筋の機能であって、チンポの機能ではないと思うが。
731デフォルトの名無しさん
垢版 |
2022/08/25(木) 23:02:59.96ID:xnjwdHNi
随意筋  不随意筋
  ↖   ↗
   チンポ

オントロジーは、情報の親/子関係を表現できます。RDFドキュメントの例でも触れましたが、
オブジェクト指向の継承と同じ概念と理解いただいてもよいと思います。そして、
オントロジーの「継承」の特徴は、次のようにオブジェクト指向と近いものです。
子は親の情報(=設定値)を引き継ぐ
多重継承ができる。(継承した全てのクラスの定義を漏れなく引き継ぐ)
継承の関係は、「subClassOf」と表現します。「子 is a 親」という関係です。
https://qiita.com/mininobu/items/bce0e0ad97ed17e0aff2
732デフォルトの名無しさん
垢版 |
2022/08/25(木) 23:47:11.60ID:1qUcVnY9
だれか?この板の中でprogateのphpを体験した人いる?
学習課題のレストランのメニューをUMLで表現してくれないか。
頼む。
2022/08/26(金) 00:26:00.83ID:QlxpNL+o
そんなの体験するやついねーんだわ
734デフォルトの名無しさん
垢版 |
2022/08/26(金) 03:21:07.26ID:V0DMr4WT
>>728
だから、継承や多態性はオブジェクト指向の本質ではない、ということでは?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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