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

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

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

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

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

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

※前スレ
https://mevius.5ch.net/test/read.cgi/tech/1615881962/
2021/06/12(土) 00:43:39.62ID:5WmNz19V
>>102
海外移住出来ない法律が必要
104Mb
垢版 |
2021/06/12(土) 14:26:41.13ID:yUTryCt0
なんか、このスレ寂れてんのか?
「オブジェクト指向」というのは、
「オブジェクト・オリエンテッド」の日本語訳だろ?
で、「オリエンテーション」というのは「光は東方より」っつって
アレクサンダー大王が東征したワケだ。
昔は「オブジェクト・オリエンテッド」を「算体主導型」と訳していた。
つーか、C 言語の「参照」と「実体」や、「構造体」みたいなモノを、
「メッセージを投げるとメッセージが返ってくる」という
「メッセージング」に帰着させただけの話で、古いコーディングスタイルを
知っている世代にとっては、わりと受け入れやすい概念だと思われ。
105デフォルトの名無しさん
垢版 |
2021/06/12(土) 14:36:31.33ID:RadmeEVr
おじいちゃん、何回同じ話するの
2021/06/12(土) 18:35:27.34ID:uK7pkuCM
>>105
公演会場の数だけ
107デフォルトの名無しさん
垢版 |
2021/06/13(日) 03:44:57.58ID:yuwBqkDc
メソッド単位での単一責任原則が守られてないオブジェクトは拡張するのが難しい
オブジェクト指向の闇
108デフォルトの名無しさん
垢版 |
2021/06/14(月) 11:53:15.15ID:LnG83xz5
>>98
東大京大でも院から転入した学歴ロンダが居るからそういうのは排除しないと

>会社では一見無駄な業務や下積み仕事があるわけですが、
>高スペック人材は自分が無駄だと判断したら止めてしまったり、
>手を抜いたりします。

手を抜くというより例えばいちいち手作業やってるのをあほらしいから
プログラミングして自動化してもそれでも手を抜いたと言われる会社なら辞めた方が良い
日本には不合理な精神論が蔓延している
109デフォルトの名無しさん
垢版 |
2021/06/14(月) 12:14:14.93ID:TE2ntQhj
>>101
>特定の営利イベント開催

今問題になってるIT相のNTT干す発言も立派な生贄パワハラ確定だが
IT相は臀痛出身でさもありなんだと思うわ
体質が染みついてるんだろう
110デフォルトの名無しさん
垢版 |
2021/06/14(月) 12:17:33.80ID:TE2ntQhj
NTTじゃないなNECだった
>>98 >>108 責任取れ
111デフォルトの名無しさん
垢版 |
2021/06/15(火) 21:18:04.16ID:kvwlPYi1
>>108
そういえば、「IDE 使用禁止」「ソースコード管理ツール使用禁止」
みたいな現場が昔あったっけ。
「工数の水増し」のために開発効率を落としているとしか思えなかったが、
当時は携帯電話が売れてたからそれで通ってたんだろうなぁ。
ゲームとか携帯とかは基本イベントドリブンだから
オブジェクト志向とは相性がいいんだが、
C++とか使ってると「そもそもコンパイルが通らない」とかいった
事態が起きるのでどんどん工数が膨らむ。
残業・休出を減らして開発効率を上げて
工数を圧縮して納期を短縮するとかいった発想は、
たぶん派遣業者にとっては許しがたいことなので、
オブジェクト志向なんていうのは
異端思想なんだろうな、と思う。
112デフォルトの名無しさん
垢版 |
2021/06/16(水) 01:09:10.61ID:6J1+Z3Pi
残業減らして納期短縮?
113デフォルトの名無しさん
垢版 |
2021/06/16(水) 16:20:55.86ID:uJQ6HHCX
そもそもコンパイルが通らない?
2021/06/16(水) 17:37:34.93ID:rKENZv+K
そもそも日本語として成立してないの気付いてなさそうだ
知ったかくん哀れ
115デフォルトの名無しさん
垢版 |
2021/06/16(水) 18:17:19.54ID:5mM/xZpb
ネットで拾ってきたC++のコードがCコンパイラで使えない!とお怒りのようです
116デフォルトの名無しさん
垢版 |
2021/06/16(水) 22:40:59.38ID:zL6K3y52
解雇されたエンジニアが、社長、副社長、人事部トップ3人を銃殺するという事件がシリコンバレーで起った。
警察に捕まった47歳のエンジニア、ジング・ウー(Jing Wu)は、ワイアレス半導体のベンチャー企業
SiPort(シポート)の元社員。3人の子供の父親であるウーは不動産投資に手を出し、17軒の不動産を持っている。
しかし、このところの不動産市況の暴落ですべての計算が狂ったようだ。
自分で弁護士を雇えないほど資金繰りは苦しいようで、日本の国選弁護人に相当する米国の公共弁護士がついた。
中国から米国に移民したウーは、不動産投資で子供の教育費などにあてようと資産運用を図ったことが裏目に出た様子。
そこへきて勤務先から「業績遂行能力不足」を理由に11月14日、解雇を言い渡された。彼はいったんシポート社
を出て銃を忍ばせ、シッド・アグラワルCEO、副社長のブライアン・プグ、人事部のマリリン・ルイスに退職後
の相談と面会を求め、同日午後4時、会議室で3人を射殺した。
https://toyokeizai.net/articles/amp/2466?display=b&;amp_event=read-body
117デフォルトの名無しさん
垢版 |
2021/06/16(水) 22:47:00.55ID:HI6xt2b+
>>116
チャンコロなんか野放しにしておくからそういうことが起こる。
二階とかの親中議員を放置しておくとその内日本が中国の一部にされてしまうぞ。
2021/06/17(木) 12:05:51.67ID:EQR7Wr8E
漏れも親日じゃない相手には反中で対応するのは賛成だが
たまたま犯罪者が中国人だったたけですべての中国人を問題視するのは
プログラマとしての資質を疑うレベル

不動産投資に失敗したなら自己責任
銃社会が問題
119デフォルトの名無しさん
垢版 |
2021/06/17(木) 21:36:14.19ID:zUmwodpA
確かに。
1つの事象を見て全体がそうだと決めつけるような
分析力の低い人間にプログラミングは無理だと思う。
2021/06/17(木) 22:21:07.28ID:qQJq6wCc
プログラミングとはカスリもしない問題をこじつけ
善人ぶって正論かのような言葉を並べ本質を見誤る愚者
或いは被害拡大を狙った偽善者
121デフォルトの名無しさん
垢版 |
2021/06/17(木) 22:37:41.01ID:LOJFuKN6
ところで「チンポがシコシコする」という日本語表現は、学術的に正しいと言えるのか?

チンポ「を」シコシコするのではなくて、チンポ「が」シコシコする。この場合、「チンポ」は主語となる。

オブジェクト指向で言う「集約」は2種類あって、全体(俺)と部分(チンポ)が繋がっている場合と、
全体(俺)と部分(チンポ)が別々になっている場合とが考えられる。けれども「チンポ」はそれ自体
が独立した生き物であり、所有者の意思とは無関係に、自ら勃起して「シコシコする」。
例えば寝てる時にエロい夢みて朝起きてみたらチンコが勃起して射精してたとか。

違うか?

「胸がドキドキする」は良いが、「チンポがシコシコする」はダメな理由を、50字以内で述べろ!
122デフォルトの名無しさん
垢版 |
2021/06/18(金) 08:21:50.18ID:K6IV+2I9
何とも甘い連中だ
チャンコロ放置した結果どうなった?
5chがチャンコロからサイバー攻撃を受けて今何種類ものブラウザが使えなくなっているじゃねーか。
お前らは一々こいつはいいゴキブリだから殺さない、こいつは悪いゴキブリだから殺すとかやってんのか?
台湾がやられたら次は日本だぞ?殺るか殺られるかのときにそんな甘っちょろいこと言ってるから
中国を牽制している他の国々と足並みが揃わない。このままではレッドチームに吸収されるぞ。
123デフォルトの名無しさん
垢版 |
2021/06/18(金) 11:00:42.73ID:qEfWUkBU
そうだねコロナDNAワクチンで遺伝子弄られて
思考が5Gで政府に筒抜けになるから君に逃げ場は無いね。
124デフォルトの名無しさん
垢版 |
2021/06/18(金) 11:56:11.52ID:7Huy+AZL
ブラウザやクラッキングを言うならロシアも中韓朝以上に危険
125デフォルトの名無しさん
垢版 |
2021/06/19(土) 17:34:54.53ID:MHPjPgrJ
https://mobile.twitter.com/oburicco/status/1405526640570953731

ぴえまる🥺輪郭2点脂肪移植DT10ヶ月
@oburicco
去勢はコストカットw w w wたしかに最大の投資すぎる天才じゃんみんな去勢しろ
https://twitter.com/5chan_nel (5ch newer account)
2021/06/21(月) 12:20:26.23ID:ESTe/Cdm
アランケイが考えていたのはインターフェース指向だったという話を聞いたことがあるな。
インターフェースで機能への参加権を付与する感じっぽい。

printableとかupdatableとか。
127デフォルトの名無しさん
垢版 |
2021/06/24(木) 15:58:03.82ID:xOyx/c6u
>>115
> ネットで拾ってきたC++のコードがCコンパイラで使えない!とお怒りのようですC++はC コンパイラにプリプロセッサという皮を被せただけで、
C のコンパイラは基本的にマクロプリプロセッサなので、
ヘッダの巡回参照をすると簡単に無限ループに入りこんで落ちる。
Java が多重継承を禁止していないのは、そのあたりのチェックが
面倒臭いからだと思われる。
C++は、「二枚重ねだが気持よくないし、安全でもない」とか。
ゲーム業界を含むディジタルのコンテンツ処理の業界に
首を突っこんでみると、「C++ のコンパイルエラーを消すだけの
単純なお仕事です www」とかいった話は、けっこうあるわけだが。
128デフォルトの名無しさん
垢版 |
2021/06/24(木) 16:02:50.85ID:xOyx/c6u
>>126
> アラン・ケイが考えていたのはインターフェース指向だったという話を
聞いたことがあるな。
たぶんアラン・ケイではないけれども、「『オブジェクト志向』という
ネーミングは失敗だった。『メッセージング志向』と名づけていれば
よかった」という反省の弁を述べていた有名な人はいる。
129デフォルトの名無しさん
垢版 |
2021/06/25(金) 20:50:35.01ID:8d9Ppd4I
カプセル化についてどうしても分からないんだけど
オブジェクト指向やインスタンスについて
Wikipediaを調べると
「クラスの中で作ったデータ構造やアルゴリズムを修正したくなった時に、それらをクラスの外側に影響にせずにクラス内の範囲に
収めることができる」と書いてあるけど

それってクラスやインスタンスが出て来る前から
関数だって同じでしょ?

クラスやインスタンスというものを使う理由になってるのかな
関数と何がちがうの?

それに関数やインスタンスのメソッドだって
引数の構成を変えたくなったり追加の引数が欲しくなったら
外部に影響を与えざるを得ないのでは?
(続く)
130デフォルトの名無しさん
垢版 |
2021/06/25(金) 20:51:07.41ID:8d9Ppd4I
(続き)
確かにクラスやインスタンスはプロパティの変数を
内部に保持できるところは新しいが
しかしそれをドットで格納や参照しちゃうと
肝心のカプセル化が壊れてしまうっていうんだから
結局は関数のローカル変数と同じだ


インスタンス内で保持するプロパティは
そもそもコンストラクタの引数か
メソッドの引数を経由して流れてくるものなんだから
そういう意味では、クラスとインスタンスは
関数と根本的な意味で違いがないのでは?


わざわざクラスとインスタンスとメソッドのように
複雑にしたのなら、
関数にはない何か素晴らしいメリットがあるのだろうか?
そうじゃなきゃ単に構文が複雑になっただけのように思えるが。
(疑問終わり)
2021/06/25(金) 21:25:10.29ID:7fH3vpXY
ゼロリスクとかないし
上流の人が下流の変な行いを制限するための仕組み
132デフォルトの名無しさん
垢版 |
2021/06/25(金) 22:05:11.75ID:5F2XL1Xe
スコープがクラス内である変数(クラス変数)に相当するものが、
関数にあったっけ?

クラス変数がカプセル化のキーだと思う。
133デフォルトの名無しさん
垢版 |
2021/06/25(金) 22:24:11.75ID:5F2XL1Xe
以下でfileとfがカプセル化および、手続き化できてると思う。
マネージャーからは、Catalogが保持するfileとfは見えないのが正しい。

class Catalog
 atter_reader :file
 atter_accessor :f

 def initialize(file:)
  @file = file
 end
  
 def open
  @f = open(file, 'r')
 end

 def output(var:)
  f.puts(var)
 end
end

class Manager
 def makeCatalog
  c = Catalog.new(file: 'カタログ名.txt')
  c.open
  c.output(var: '書き込みたい内容')
 end
end
134デフォルトの名無しさん
垢版 |
2021/06/25(金) 22:40:21.64ID:5F2XL1Xe
外側に影響を出さずに修正する例

class Catalog
 atter_accessor :f

 def initialize(file:)
  @file = file
 end
  
 def open
  @f = open(file, 'r')
 end

 def output(var:)
  f.puts(var)
 end

 private

 def file
  "#{@file[0, 2]}\#{@file}"
 end
end

class Manager
 def makeCatalog
  c = Catalog.new(file: 'カタログ名.txt')
  c.open
  c.output(var: '書き込みたい内容')
 end
end
2021/06/25(金) 22:53:02.93ID:eNSUt1x8
クラス変数はいつになったら出てくるのん?
136デフォルトの名無しさん
垢版 |
2021/06/25(金) 23:10:24.13ID:YN5s3pHX
すまぬ。
インスタンス変数の間違いだった・・・。
2021/06/26(土) 01:49:46.90ID:WPp8qNv5
関数の場合はクロージャでキャプチャする変数がインスタンス変数みたいなもの
fileやfをキャプチャした一連のクロージャを連想配列や構造体に入れて返す関数を書けばいい

Catalog = Struct.new("Catalog", :open, :output)

def make_catalog(file:)
 f = nil
 Catalog.new(
  open: -> { f = open(file, 'a') },
  output: -> var: { f.puts(var) }
 )
end

c = make_catalog(file: 'カタログ名.txt')
c.open.()
c.output.(var: "Write Something")
138デフォルトの名無しさん
垢版 |
2021/06/26(土) 02:05:19.25ID:jug2ShuU
その書式でメソッド書くのはきつくない?
2021/06/26(土) 05:29:29.35ID:+EKqv5Ba
>>129
結局何が聞きたいのかさっぱり分からん。

カプセル化は「必要最小限の物だけを見せる」単純化の方法であって
オブジェクト指向とは直接関係がない。

インスタンスのメリットはごちゃごちゃ言ってないでコード書けば一発で分かる。
畳の上で水泳の練習をして泳げるようになるのは天才だけ。
凡人は実際に水に入って泳がないと上達しないよ
2021/06/26(土) 10:59:04.51ID:Rie4kKQj
まぁ OOで終わっている人が多いからな。 Cで仮想テーブルまで作ってやっている人が居たが、単にOOオタクというだけだった。
OOの上にコンポーネントやバウンタリー構造を構築する方が大事で、SOLID原則を実現するためにOOPを使うという事を知らない人だらけ。
企業のファイナンスや基幹経験も無しに、小規模ユーティリティーでビジターとかデザパタハイが歳食っても治らない。
ビジターで一回、全修正でひどい目に合わないとわからないのかも。
2021/06/27(日) 06:53:14.21ID:edyl0XAn
がん細胞の如くソース撒き散らされたマジックナンバー。
定数ラベルにしてあれば1行の修正。

難しいこと言ってるが原点は定数記号。
142デフォルトの名無しさん
垢版 |
2021/06/27(日) 08:14:48.33ID:sNBPWRnW
>>141
それまったく違うよ。
定数を直接参照させると変化を吸収できないから、
メソッドに包んでメッセージでオブジェクトを参照するんだよ。
2021/06/27(日) 11:40:01.24ID:N2ruTaG4
変化はポインタtoポインタ、ジャンプテーブルで解決。
144デフォルトの名無しさん
垢版 |
2021/06/27(日) 11:44:04.42ID:U1pSP8r9
π って
#include <math.h> で
M_PI
使うのと
#define myPI 3.14hogehoge
するのとどっちが良い?
2021/06/27(日) 12:16:41.98ID:FB9ZSvE6
オブジェクト嗜好って、C言語的には所詮構造体、共用体、ポインタの組み合わせなんだよなと思ってしまう。
2021/06/27(日) 12:37:46.84ID:2gHjXwTf
それと関数へのポインタな
2021/06/27(日) 12:41:11.83ID:G7M856dZ
大抵のオブジェクト指向ω言語は
c で構造体 (FILE *) の例が一番良く合うと思うが
self とか this とかを第一パラメータ省略出来るだけで
やってることは同じ
148デフォルトの名無しさん
垢版 |
2021/06/28(月) 21:49:59.55ID:hb08z3M6
「ループって結局gotoなんだよな」って謎のうわごと言ってる変な人が涌いたなぁ…
というこの感じ、わかりますかね?
149デフォルトの名無しさん
垢版 |
2021/06/29(火) 09:39:43.72ID:FQiEOJle
>>148
そのうわごとはある意味合っている
中間言語に変換して見てみれば
条件分岐による指定アドレスへの
ブランチ命令やジャンプ命令になるから
2021/06/29(火) 19:18:22.85ID:B7EiqjVa
>>148
まぁ形としてgotoを使わず書くのが構造化ってことやから
2021/06/29(火) 19:20:40.15ID:z+Vt20Ug
下らん。自明。
152デフォルトの名無しさん
垢版 |
2021/07/01(木) 15:09:55.43ID:i0Niwzqk
>>150
強盗退治のダイクストラ大先生の気持はわかるのだが、
goto を退治しようと思うと、変数スコープをどうするかとか、
受け皿としての構造化ステートメントをどうするかとかいった
問題もある。
LOOP - UNTIL - DO - REPEAT 構文なんかは、
変数スコープとか無限ループの中からの break とか、
けっこうややこしい話がある。
べつに批判というわけではなくて、
爺いの繰り言だと思ってくれ。
153デフォルトの名無しさん
垢版 |
2021/07/02(金) 06:08:53.71ID:1mPaPsjo
>>152
変数のスコープとgotoって何か関係するの?
154デフォルトの名無しさん
垢版 |
2021/07/02(金) 10:44:14.20ID:xu7tv1xS
>>150
javascript のオブジェクト指向がクラス指向じゃなくて
プロトタイプベースだってしきりに宣伝されていた時期があったが
あれこそ只の言い訳なんだよ
155デフォルトの名無しさん
垢版 |
2021/07/02(金) 10:46:12.72ID:xu7tv1xS
>>152 のじじいには是非とも longjump と exception の違いについて解説してもらいたい
2021/07/02(金) 21:54:55.09ID:QH8xfbBh
>>153
スコープを設けることで
スコープ内へ、あるいはスコープ外へのgotoはできないようにした。
157デフォルトの名無しさん
垢版 |
2021/07/06(火) 14:46:59.64ID:C2l77xOE
「仕事ができる社員には、入社した頃から優秀で何でもできちゃうというタイプもいますが、経験を積んで
段階的に良くなっていくということがあります。一方、仕事ができない社員は、せっかく経験を積んでも、
教育訓練を受けても、能力・スキルがなかなか上がりません。自分の能力やパフォーマンスが低いという自覚
がないから、そういう残念な状態がずっと続いてしまうんでしょうね」(サービス)
https://toyokeizai.net/articles/amp/437325?page=2
158デフォルトの名無しさん
垢版 |
2021/07/08(木) 09:45:26.96ID:55hhGJGn
>>155
> 是非とも longjump と exception の違いについて解説してもらいたい
階層のあるロジックで、途中の階層でファイル開けたりするじゃん。
まぁ、最近の実行環境とかだったら、自働的に閉じてくれるだろうけど、
ハックアタックとか喰らったりすると、処理がおっつかなくなって
システムが落ちたりするわけだよ。
例外を拾うと、戻ってくる途中で後始末してさらに上に例外を投げる、とか
できるから、なんぼか安全でユーザに親切なコードを書ける。
ただし、これは OO に限った話じゃなくて、昔の Lisp にも
キャッチ&スローはあった。
Lisp 的な使い方だと、「タイマーを仕掛けておいて、あるアルゴリズムを
実行中にタイムアウトしたら、例外で呼び元に戻って別のアルゴリズムを
試す」みたいなこともできる。
2021/07/08(木) 11:23:32.18ID:2xQyyxJV
ロングジャンプするとスタックはどうなるの?
2021/07/08(木) 11:37:56.66ID:qzQUzceM
そのままじゃないの?
ロングジャンプと関数呼び出しのちがいがわからない
2021/07/08(木) 11:40:31.56ID:qzQUzceM
アセンブラの話かと思った
162デフォルトの名無しさん
垢版 |
2021/07/09(金) 15:21:32.46ID:CPOxdqYe
>>159
>>160
ローカル変数を積んだヒープもリターンアドレスを積んだスタックも、
ぜーんぶチャラにされてしまうので、C 言語だったらそういった情報は
グローバル変数に積んでおくしかないと思う。
C 言語というのは、
C のソース ⇒ マクロ 展開の後のソース ⇒ マクロアセンブラのソース
⇒ 展開後のネイティブアセンブラのソース ⇒ ネイティブなマシンのコード
ということになっているので、「マクロアセンブラのソース」と
「逆アセンブルしたネイティブなコード」(でなければダンプしたバイナリ)を
比較すりゃあいいんじゃねぇ? つーてもそこからリンカが動くわけだから、
シンボルは解決されていないわけで、「あっちゃとこっちゃでラベルの
シンボルが同じなのに型が違う」とかいった話があったりするので
けっこう面倒臭いんだが。
つーても、こういう話は OO とはなんにも関係がなくて、
単に Java が間に仮想機械を挟んでいるだけの話だと思うが。
163デフォルトの名無しさん
垢版 |
2021/07/09(金) 15:28:01.63ID:CPOxdqYe
>>161
> アセンブラの話かと思った
うん、本当に その通りだ。
隠蔽体質が限界に来ちゃったんで、「いっぺん VM で切り分けようよ」と
いう話になって、IEEE の数値表現とかで「C の構造体の穴」とかの
話は別枠にしようというのが、もともとの話(OO と全然関係のない
話でスマソ)だ。
164デフォルトの名無しさん
垢版 |
2021/07/09(金) 15:34:42.87ID:CPOxdqYe
>>160
> ロングジャンプと関数呼び出しのちがいがわからない
正確にいうと「関数呼出しの戻り」だと思う。
一段上に戻るのが、普通の「関数呼出しの戻り」で、
途中の呼出しのためにスタックやヒープに積んどいた
情報をぜんぶすっ飛ばしてチャラにしちゃうのが longjump 。
そのときの情報が半端に残っているもんだから、
うっかり別プロセスから呼ばれたときにゴミを拾ってややこしいことになる。
Java でも「これ、スレッドフリーで実装してるから」というのを
宣言してないメソッドを使うと、ややこしいことが起きた時代があったげな。
どっとはらい。
2021/07/10(土) 13:45:47.10ID:keCdkflV
馬鹿だw
166デフォルトの名無しさん
垢版 |
2021/07/11(日) 13:38:07.40ID:AB3pchpm
>>165
> 馬鹿だw
誰が? www
「文句があるなら、四百字詰めの原稿用紙に、
テンとマルを数えて三枚以下にまとめて火曜日までに提出しやがれ!」
2021/07/11(日) 18:06:50.71ID:UkcAZW7O
自覚はあるようだ
2021/07/12(月) 14:49:21.34ID:LBA0QktL
自覚があれば許されるって問題じゃないがな
169デフォルトの名無しさん
垢版 |
2021/07/12(月) 15:07:01.79ID:aEttnyn+
アセンブラのジャンプ命令のロングのものは
当たり前だけどスタックエリアもスタティックエリアもヒープエリアも触ることはないよ・・・
何の言語?
170デフォルトの名無しさん
垢版 |
2021/07/15(木) 14:20:57.31ID:fe/M1r5r
オブジェクト同士は常に二人称で、「俺」←対話(メッセージング)→「チンポ」。
つまりチンポは独立し自ら考えて行動する別の生き物なのである。

この考え方に至ってからは、オブジェクト指向の理解もすんなり進みました。
上手くオブジェクトを定義して、上手く会話させてやるのがオブジェクト指向
での設計なんだなーと今でも思っています。
https://blog.mah-lab.com/2014/03/18/object-oriented/

チンコの随意筋と不随意筋
http://d.hatena.ne.jp/tottokotokoroten/20130516/1368716650

<俺>
「 部屋の英子がこちらを向いた気配に、彼は勃○した陰○を外から障子に突きたてた。障子は乾いた音をたてて破れ、
それを見た英子は読んでいた本を力一杯障子にぶつけたのだ。本は見事、的に当って畳に落ちた。 」
<チンポ>
「 その瞬間、竜哉は体中が引き締まるような快感を感じた。彼は今、リングで感じるあのギラギラした、
抵抗される人間の喜びを味わったのだ。 」

まさに独立した人格を有したチンポという、もう一人の俺がそこに現れるのである!

【藤子・F・不二雄】「みきおとミキオ」現在と未来、憧れの入れ替わり生活!
https://www.google.com/amp/s/middle-edge.jp/articles/0izbO.amp
171デフォルトの名無しさん
垢版 |
2021/07/15(木) 15:05:02.15ID:ygp86UHP
みんな教えてくれ
Chrome の右上に 「タブを検索」 ってバカ見たいなアイコンがまた出て来た
以前は chrome://flags から enable-tab-search を選んで disable にすれば非表示に出来たんだが
ある日を境にそれも出来なくなってまた現れたんだ
今度は消せない

css とか何かの hack で良いから消す方法を教えてくれ
緊急事態なんだ
172デフォルトの名無しさん
垢版 |
2021/07/19(月) 09:58:54.74ID:aT6h1Owq
(中学入学当時の思い出)
女子の着換えブルマ姿に欲情してチンポがシコシコしてたらケツの穴が緩んでおならブー、慌ててトイレに
駆け込んでセンズリとウンコを済ませて教室に帰ると、みんなが臭い臭い屁をコイタのは誰だと騒いでた。
2021/07/20(火) 15:25:50.08ID:8LncYo8+
授業中にオナニーした自慢してる同級生がいた母校
174デフォルトの名無しさん
垢版 |
2021/07/26(月) 16:14:40.27ID:h3NNUVW3
オブジェクト志向というのは、
かつて「算体志向言語」と呼ばれていて、
数学基礎論関係の人から支持されていたのだが、
「チンポチンポチンポチンポチンポチンポチンポチンポチンポチンポチンポ
チンポチンポチンポチンポチンポチンポチンポチンポチンポチンポチンポ!」
と叫び続ける人には、どんなトラウマがあるのだろう、と、
ソフトウェア技術とは別のカテゴリー(メンヘラ板とか)的に
興味が出てきた。
175デフォルトの名無しさん
垢版 |
2021/07/26(月) 16:28:41.26ID:h3NNUVW3
正直な話、C 言語みたいな「記憶空間上の位置」というイメージは、
「仮想メモリ」あたりが絡んでくると、非常に面倒臭い話に
なるわけだよ。
アセンブリ言語の時代は、プロテクト上のテクニックとして、
「ROM に書き込む命令を実行しておいて、あとでチェックする」
みたいなネタがあったわけだが、プログラムが巨大化してくると、
そういうチマチマした工夫というのは用済みになってしまって、
「それなりに大きいシステムを動かす」というのに重点が
置かれてきたわけだ。
そういう意味では、オブジェクト志向というのは
「順当」で「つまらん」コンセプトではある。
2021/07/26(月) 16:47:29.54ID:y8y7Lt86
支離滅裂
177デフォルトの名無しさん
垢版 |
2021/07/26(月) 18:44:37.57ID:Mq5VCN/i
>>174
「拡張された自我」というのはダメなのか?
2021/07/26(月) 20:05:01.57ID:0k++frUQ
志向じゃねえと何度行ったらわかるんだ
179デフォルトの名無しさん
垢版 |
2021/07/26(月) 21:03:06.65ID:Sy50UqPQ
>>176
いんや、支離滅裂とは限らんよ
実際、ファミコンソフトでもEP-ROMという
カセット内に書き込み可能なROMを内蔵しているものは稀にあった。
2021/07/26(月) 21:41:28.75ID:xfwXuIQ4
部分的には意味があるが話のつながりが全然わからん
181デフォルトの名無しさん
垢版 |
2021/07/26(月) 21:42:49.37ID:h3NNUVW3
>>178
OO はオブジェクト・オリエンテッドだと何度言ったらわかるんだ。
高校のときの世界史の教科書を引っ張り出してきて、
「光は東方より」とか「オリエント文化」とかいった
用語を確認しておいてほしい。
「オリエンテーション」とか「オリエンテーリング」とかいう
言葉もあるだろう。
「指さす(指向)」だけで動かないんだったら、
なんの役にも立たんだろうがよ。
182デフォルトの名無しさん
垢版 |
2021/07/26(月) 23:32:09.15ID:XZlTnvY0
アイミョン [KS108-054]
削除
2021/07/26 23:27
チンポがシコシコするぜ!

https://i.imgur.com/CICwpUU.jpg
183デフォルトの名無しさん
垢版 |
2021/07/27(火) 05:27:08.07ID:Q2Vxfcf1
>>181
それ、仕事場でも同じようなこと言って無理矢理通してるの?
2021/07/27(火) 06:09:15.19ID:LcJHa8Ez
正規表現も周りに合わせず自分だけ正則表現と言ってそう
2021/07/27(火) 11:08:22.21ID:/Iqls6o1
GoFのデザインパターン勉強したいんだけど
何からはじめればいい?なんか良書ない?そもそも現代においては最早学ぶ必要すらなし?
Javaの素養もなくJava言語で学ぶデザインパターン入門は20年前くらいに一度挫折した
2021/07/27(火) 11:32:43.58ID:v0U2tVBR
>>185
オブジェクト指向における再利用のためのデザインパターン
↑これ買っとけば間違いない
英語が出来るなら原書を買えばさらに間違いはない
GoFが主張したかったことがそのまま書いてあるのが大事

ほかのJavaでうんたら〜とかネットの素人記事とかは
すべて二次情報になっており危ない
独自解釈や拡大解釈で焦点をどんどんボカされてしまう恐れがある

あるいは、今は手を出さないほうがいい

糞設計、糞コードの山を既に作りまくってて
困り果てた挙句に手を出してみるのがデザパタ
少しでも設計の助けになるヒントを求める先がデザパタ
糞設計にまみれた人でないと必要性がまずわからんはず
187デフォルトの名無しさん
垢版 |
2021/07/27(火) 16:49:37.67ID:2/5jRvjl
デザパタは「批判的に継承する」ことが前提とされているので、
それを踏まえて気長につきあってくれ。なお、そもそもの語源は建築分野だ。
「GoF」の元ネタは「四人組」で、
> 四人組はプロレタリア独裁・文化革命を隠れ蓑にして極端な政策を実行、
> 反対派を徹底的に弾圧し、迫害して殺害したが、
> 中国共産党中央委員会主席である毛沢東の死後に失脚した。
だ。
188デフォルトの名無しさん
垢版 |
2021/07/27(火) 17:38:09.84ID:SIzlx99/
>>181
指向は、物事の基本として位置づけるって意味だよ
オブジェクト指向プログラミングはオブジェクトを基本としたプログラミングって意味だよ

オブジェクト志向プログラミングだと、俺はオブジェクトになるんだって思いながら行うプログラミングになっちゃうよ

オブジェクト志向は間違いなので今後はオブジェクト指向と書くように
189デフォルトの名無しさん
垢版 |
2021/07/27(火) 17:53:36.60ID:SIzlx99/
一番重要なデザインパターンはイテレータパターンとデコレータパターン
2つ覚えておけばあとはおまけみたいなもん
2021/07/27(火) 18:30:55.17ID:3rBo4v1y
>>185
「Head Firstデザインパターン」
GoF本のエッセンスを凝縮して平易に解説してる
これ以上にわかりやすいのは無いので
もしこれでも挫折したら素養がないと思って諦めてくれ
2021/07/28(水) 10:14:10.51ID:TIa2mcNA
>>185
>Java言語で学ぶデザインパターン入門
あの本だと何でデザパタにしないといけないのか
読んでてもぜんぜん分からないよな?
まああの時代はみんな分からなかったんだけど
2021/07/28(水) 10:17:20.31ID:TIa2mcNA
>>189
そんなわけない
むしろそのふたつの方がオマケ
まあイテレータは言語でサポートされるけど
193デフォルトの名無しさん
垢版 |
2021/07/28(水) 10:44:13.49ID:Zb5hS091
>>188
「指向」っつーと
point とか index とか direct とかを想像しちゃうんだが ……
194デフォルトの名無しさん
垢版 |
2021/07/28(水) 10:57:50.22ID:Zb5hS091
>>189
>>192
いわゆる「デザインパターン」の範疇に入っているかどうか
わからんけど、シングルトン実装を使わないと、
いわゆる大域変数が使いづらくて面倒臭いと思う
(「new するときに参照を渡せばいい」というのも
ひとつのスタイルだが)。
OO の持ち味は「システムが大型化したときにも
混乱するリスクが少ない」「だからアジャイル化
(インクリメンタル開発)に向いている」点だと
思う。
まぁ、ツールとかトイ・プログラム程度だったら、
自分の好きなスタイルで書けばいいと思うが。
「Java は、Pascal や C より面倒臭い」という意見は、
初心者の感想としてあると思われる。
195デフォルトの名無しさん
垢版 |
2021/07/28(水) 23:54:33.04ID:GRHddmr5
>>192
イテレータパターンは逐次処理の基本で
デコレータパターンは機能を拡張する基本

JavaのStreamとか.NETのLINQは知ってるっしょ

イテレータパターンとデコレータパターンを知ってるとLINQ作るのは楽勝

こんな感じに
https://paiza.io/projects/JRTGnHvxgXmixjgoOGANhA

ラムダ式使うから他のデザインパターンはおまけと言って良いですね
196デフォルトの名無しさん
垢版 |
2021/07/29(木) 00:09:43.58ID:ODUB6YGJ
自分でLINQのようなもの作ってみるとわかるんだけれども
JavaのIteratorクラスも.NETのEnumeratorクラスもデザイン的にはよろしくない

JavaのIteratorは
hasNext : 値があるかを返す
next : カーソルを進め、値を返す

.NETのEnumeratorは
MoveNext : カーソルを進め、値があるかを返す
Current : 値を返す

nextやMoveNextは一つのメソッドで2つの処理をやってるんだよね

hasValue
getValue
move
の3つに別れてるといろんな処理が書きやすい

Iteratorは一度自分で作ってみるのをおすすめする
結果的に使わなくてもやってみると楽しい
2021/07/29(木) 00:31:12.53ID:YKvIUGd6
>>193
orientedを想像してほしいの
2021/07/29(木) 00:37:09.24ID:YKvIUGd6
>>194
パスカルってローカル変数をメソッドの先頭にまとめて書かないといけないよね、あれって思考の妨げになりそうなものだけどすいすい書けるものなんかね、必要になったとき必要になったところに変数書けるJavaの方が読み書きしやすいように思えてしかたない
2021/07/29(木) 01:43:55.64ID:oVQ0Ruxr
>>191
あの著者は「デザパタにしろ」なんて言ってないw

そもそもデザパタに限らずアイデアというのは適合するものに適用するんであって、
馬鹿の一つ覚えで無理矢理使うものじゃないw

古い版持ってるけで悪くない本だと思うよ
マルチスレッド編は持ってるけど読んでないので知らん
2021/07/29(木) 01:47:27.80ID:oVQ0Ruxr
>>196
列挙のための仕組みなんだから「いろんな処理」
に対応する必要はないw

そんなことよりああいう汎用的な仕組みは効率の方がずっと大事だ
201191
垢版 |
2021/07/29(木) 02:10:42.11ID:+NG4dF8L
>>199
>「デザパタにしろ」なんて言ってない

いやでもメリットは明確に提示すべきでしょ?

もちろん無理やり使う必要はないんだけど
どういう時に使うのかの基準が分からないと

あと似ているパターンの使い分けとかも曖昧
もちろん今は分かるようになったけど
2021/07/29(木) 02:42:24.67ID:YKvIUGd6
>>200
効率って実行効率? 
実装の効率?
シンタックスシュガー用意するなら実装の効率は変わらないし実行の効率も差があるとは思えないけどなあ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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