探検
オブジェクト指向はオワコン
レス数が900を超えています。1000を超えると表示できなくなるよ。
2023/08/26(土) 22:00:53.85ID:H4l7y46b
最近の言語には採用されないことが増えている
845デフォルトの名無しさん
2024/02/18(日) 10:16:24.04ID:BTJ6Zkap >>844
そんなこと言われてなくね?
そんなこと言われてなくね?
846デフォルトの名無しさん
2024/02/18(日) 11:06:51.79ID:18G3CSzu 「APIそのものがオブジェクト指向」だと主張してるやつはいるね>>820
847デフォルトの名無しさん
2024/02/18(日) 12:13:41.03ID:RIbrKfRB とりあえず1000行くらいベタ打ちでプログラム書いて
書いたのをリファクタリングついでにクラス分けして
またダーッと書いてって繰り返せばいいよね?
書いたのをリファクタリングついでにクラス分けして
またダーッと書いてって繰り返せばいいよね?
848デフォルトの名無しさん
2024/02/18(日) 12:17:44.83ID:NoFg1fuK849デフォルトの名無しさん
2024/02/18(日) 13:06:18.47ID:2M17hFnk >>848
バカの一つ覚え
バカの一つ覚え
850デフォルトの名無しさん
2024/02/18(日) 14:18:51.57ID:jMiNlzvA APIは今でも関数とグローバル変数
stdinとかstdoutとか
グローバル変数が一番最初にオワコン化し、オブジェクト指向は二番目以降と想定された
stdinとかstdoutとか
グローバル変数が一番最初にオワコン化し、オブジェクト指向は二番目以降と想定された
851デフォルトの名無しさん
2024/02/18(日) 16:50:37.61ID:g+lvGDPK オブシコで書かれたAPIとかライブラリってのならある。ってなら書いた
COMとかね 原理的には、ラッパがあれば、避けることはできる
COMとかね 原理的には、ラッパがあれば、避けることはできる
852デフォルトの名無しさん
2024/02/18(日) 19:30:26.46ID:K/iFT05J これで動くOSあるなら分からんでもない
OS.boot()
OS.boot()
853デフォルトの名無しさん
2024/02/18(日) 20:19:38.98ID:FiBYienL 低レベルはまた違うでしょ
ってだけではなんなので、ちょっとだけ手を動かしたよ
https://github.com/tianocore/edk2/tree/master/MdeModulePkg/Library/UefiBootManagerLib
ってだけではなんなので、ちょっとだけ手を動かしたよ
https://github.com/tianocore/edk2/tree/master/MdeModulePkg/Library/UefiBootManagerLib
854デフォルトの名無しさん
2024/02/19(月) 01:20:09.81ID:nPOSkLxV >>848
事実認識ができてない
JavaScript、C#、Python、Ruby、C++、Java、Kotlin
クラス扱える言語はいくらでもあるし、そもそもクラスや継承を使えない=オブジェクト指向じゃないって訳では無い
クラスはお前みたいな馬鹿には使いこなせないからクラス以外でオブジェクト指向な書ける方法が模索されたんだよw
事実認識ができてない
JavaScript、C#、Python、Ruby、C++、Java、Kotlin
クラス扱える言語はいくらでもあるし、そもそもクラスや継承を使えない=オブジェクト指向じゃないって訳では無い
クラスはお前みたいな馬鹿には使いこなせないからクラス以外でオブジェクト指向な書ける方法が模索されたんだよw
855デフォルトの名無しさん
2024/02/19(月) 01:36:14.67ID:1O4I6mF/ どの言語かに関係なく
クラス継承でプログラミングするやつはバカしかいない
クラス継承でプログラミングするやつはバカしかいない
856デフォルトの名無しさん
2024/02/19(月) 02:23:23.32ID:T5tehfX7 特定のルートクラスに縛られる継承はだいぶむかしにオブジェクト指向のあまり良くない実装として
仕様を残しながら使わない方がベターになってるわな
使うクラスをオブジェクトとして別個にクラスに組み込むコンポジションの方が主流
「継承というのがオブジェクト指向!」とかいつの時代のおじいちゃんだよ
仕様を残しながら使わない方がベターになってるわな
使うクラスをオブジェクトとして別個にクラスに組み込むコンポジションの方が主流
「継承というのがオブジェクト指向!」とかいつの時代のおじいちゃんだよ
857デフォルトの名無しさん
2024/02/19(月) 02:37:07.20ID:TafNbO5j ↑2000年代で止まってるオッサン
858デフォルトの名無しさん
2024/02/19(月) 07:21:21.34ID:94Ygw4Cz あの当時の人なら一度は、オレオレプロジェクトで継承を使いすぎた経験ってあると思うのね
859デフォルトの名無しさん
2024/02/19(月) 08:07:57.52ID:GOMVHdKw 継承しまくって訳わからん事になるなら新しいクラスにした方がいいと思うけどなあ
File
-◯◯FileBase
--◯◯FileStructure
---◯◯FileModel
----◯◯FileInstance
みたいなのよりFile2を定義し直した方が遥かにマシ
File
-◯◯FileBase
--◯◯FileStructure
---◯◯FileModel
----◯◯FileInstance
みたいなのよりFile2を定義し直した方が遥かにマシ
860デフォルトの名無しさん
2024/02/19(月) 08:13:47.31ID:Y0uHI/e6 ファイル名なんかもそうだが
File_20240219
のようなユニークIDつけておくといくら被っても困らない
File_20240219
のようなユニークIDつけておくといくら被っても困らない
861デフォルトの名無しさん
2024/02/19(月) 09:09:06.20ID:94Ygw4Cz 重複(安易なコピペ)コードはちょっとでもいけませんってきつく言われて、
それを避けるように継承をテキトーに使いすぎた記憶はあるんだよね
is-a 原則を守って、責任者が正しく設計しましょう
それを避けるように継承をテキトーに使いすぎた記憶はあるんだよね
is-a 原則を守って、責任者が正しく設計しましょう
862デフォルトの名無しさん
2024/02/19(月) 09:20:08.17ID:94Ygw4Cz 似たようなコードが出るなら、サブルーチンにすりゃよかったんだけどね
あの頃は名前空間をあんまり使いこなせてなくて、なんでもクラスに押し込みゃいいと思ってた
あの頃は名前空間をあんまり使いこなせてなくて、なんでもクラスに押し込みゃいいと思ってた
863デフォルトの名無しさん
2024/02/19(月) 09:26:15.27ID:5htgrxhu >>855
と、継承すら理解できない素人が申しております
と、継承すら理解できない素人が申しております
864デフォルトの名無しさん
2024/02/19(月) 10:20:44.59ID:stH4FHBR Rustが重複コードは二度と書かないってポリシーだっけ
最初の一歩踏み出すのにとんでもなく時間かかりそう
最初の一歩踏み出すのにとんでもなく時間かかりそう
865デフォルトの名無しさん
2024/02/19(月) 10:25:51.91ID:Xye0EN8a 何をもって重複コードとみなすのかなぁ
たまたま別の機能で同じコードになったとかは
まとめると後で痛い目に遭うよな?
たまたま別の機能で同じコードになったとかは
まとめると後で痛い目に遭うよな?
866デフォルトの名無しさん
2024/02/19(月) 10:35:06.92ID:62DfF/9H867デフォルトの名無しさん
2024/02/19(月) 10:54:32.58ID:VWZKMKLS c++ コンセプトをそのまま変数のインターフェイスに使えればなぁ、と思う事はある。
868デフォルトの名無しさん
2024/02/19(月) 11:18:30.32ID:W0+AhDGC869デフォルトの名無しさん
2024/02/19(月) 18:18:36.14ID:NzCkUvZW870デフォルトの名無しさん
2024/02/20(火) 00:04:11.84ID:LUfJNkJd スマポみたいな機能の重複回避には昔は継承を使った
今はジェネリクスを使う
昔の方法ではスタックのint型とヒープのInt型を統一できない
今はジェネリクスを使う
昔の方法ではスタックのint型とヒープのInt型を統一できない
871デフォルトの名無しさん
2024/02/20(火) 02:06:05.00ID:u4Uobn3a すべての型に対して全て同じ実装でよければジェネリクスで良いが一部の型でカスタマイズが必要になるといろんな障害が出てくる
872デフォルトの名無しさん
2024/02/20(火) 05:49:02.76ID:/gOXQNrB873デフォルトの名無しさん
2024/02/20(火) 06:10:00.38ID:jusHGvnd インタプリタならそれでいいんだけどね。。(個人の感想です
874デフォルトの名無しさん
2024/02/20(火) 10:28:59.91ID:EDso4HRp 一部の型でカスタマイズが必要な場合にジェネリクスを使おうとすると将来を見通したカスタマイズポイントを最初に確定しておく必要があって多くの場合現実的ではない
要はOCPを満たせないので変更に対して弱く保守性の低いプログラムになる
加えてRustではcoherenceの制限だったりspecializationやHKTが未サポートだったりで使える状況がかなり限定されている
要はOCPを満たせないので変更に対して弱く保守性の低いプログラムになる
加えてRustではcoherenceの制限だったりspecializationやHKTが未サポートだったりで使える状況がかなり限定されている
875デフォルトの名無しさん
2024/02/20(火) 10:53:42.40ID:C9p4KSn1876デフォルトの名無しさん
2024/02/20(火) 10:57:44.32ID:cggt5bnJ そもそもRustが大規模開発にゃ向いて無い件
877デフォルトの名無しさん
2024/02/20(火) 11:08:20.16ID:C9p4KSn1 >>876
大規模開発もできるように作られたRustについて真逆のウソはよくないよ
既に大規模開発で採用しているGoogle Microsoft Amazonといった大手IT企業たちが
共同でRust Foundationを設立して資金を出して安定した環境でさらなる開発が進められているよ
大規模開発もできるように作られたRustについて真逆のウソはよくないよ
既に大規模開発で採用しているGoogle Microsoft Amazonといった大手IT企業たちが
共同でRust Foundationを設立して資金を出して安定した環境でさらなる開発が進められているよ
878デフォルトの名無しさん
2024/02/20(火) 11:10:21.09ID:z4RtXIEV それってまだ到達して無いって事じゃね?
879デフォルトの名無しさん
2024/02/20(火) 12:20:44.40ID:ShtLDmLT 既にクラウドやCDNなどネットインフラは次々とRust製へ変わった
ソース
>【クラウド世界トップシェアAWS】
>https://japan.zdnet.com/article/35183866/
>Rustで構築されたAWSサービスの例としては、
>コンテナーアプリ用のサーバーレスプラットフォーム「Lamba」を支える「Firecracker」、
>「Amazоn Simple Storage Service(S3)」、
>「Аmazоn Elastic Compute Cloud(EC2)」、
>コンテンツ配信ネットワーク「Аmazоn CloudFront」、
>LinuxベースのコンテナーOS「Bottlerocket」などがある。
>【CDN世界トップシェアClоudflare】
>https://www.publickey1.jp/blog/22/cloudflarenginxrusthttppingoracdncpu31.html
>CDNプロバイダのCloudflareは、同社のグローバルなCDNの基盤として長らく利用してきたNGINXに代えて、
>同社自身がRust製のHTTPプロキシである「Pingora」を開発し利 用していることを明らかにしました。
ソース
>【クラウド世界トップシェアAWS】
>https://japan.zdnet.com/article/35183866/
>Rustで構築されたAWSサービスの例としては、
>コンテナーアプリ用のサーバーレスプラットフォーム「Lamba」を支える「Firecracker」、
>「Amazоn Simple Storage Service(S3)」、
>「Аmazоn Elastic Compute Cloud(EC2)」、
>コンテンツ配信ネットワーク「Аmazоn CloudFront」、
>LinuxベースのコンテナーOS「Bottlerocket」などがある。
>【CDN世界トップシェアClоudflare】
>https://www.publickey1.jp/blog/22/cloudflarenginxrusthttppingoracdncpu31.html
>CDNプロバイダのCloudflareは、同社のグローバルなCDNの基盤として長らく利用してきたNGINXに代えて、
>同社自身がRust製のHTTPプロキシである「Pingora」を開発し利 用していることを明らかにしました。
880デフォルトの名無しさん
2024/02/20(火) 13:22:34.01ID:LUfJNkJd 大規模開発以外はオワコンゆえに構造化プログラミングはオワコン
というのがオブジェクト指向の原点なのでオワコン論法を今更やめられない
というのがオブジェクト指向の原点なのでオワコン論法を今更やめられない
881デフォルトの名無しさん
2024/02/20(火) 13:26:48.23ID:oBR9eIxF882デフォルトの名無しさん
2024/02/20(火) 13:36:25.43ID:AU1Zrlfs 数名で各ネットインフラをRustで開発できるなら今後はRustでいいな
883デフォルトの名無しさん
2024/02/20(火) 16:28:18.46ID:ZAWp74Ua 「うちは大規模開発でやってる」という発言が出ないで、他人の情報に反応してそういう結論に切り替えるってことは
つまり自分らでは使ってないってことかいな
つまり自分らでは使ってないってことかいな
884デフォルトの名無しさん
2024/02/20(火) 16:45:43.34ID:rm//dl54 できるできる詐欺が横行してるな
885デフォルトの名無しさん
2024/02/20(火) 18:35:02.11ID:pzacWR0B 大規模開発は人数揃えるのが何より大切だからな
COBOLかJava以外ありえない
COBOLかJava以外ありえない
886デフォルトの名無しさん
2024/02/20(火) 20:51:51.45ID:lRk+yPyb 全部できるよ
887デフォルトの名無しさん
2024/02/21(水) 14:43:22.45ID:Z35fBDP9 MVCで入力処理ってどこにおくべき?
AIとかに聞くとCに置けって言ってくるけど
移植(ライブラリ変更等)時に描画系入力系を
まとめてVに置いておくと楽だと思うんだけど
AIとかに聞くとCに置けって言ってくるけど
移植(ライブラリ変更等)時に描画系入力系を
まとめてVに置いておくと楽だと思うんだけど
888デフォルトの名無しさん
2024/02/21(水) 14:46:34.08ID:QZ7TjEE8 いまだにMVCとかやってるから海外のアプリに勝てないんだよな
889デフォルトの名無しさん
2024/02/21(水) 15:34:28.90ID:C622TR9G M: 変数
V: public関数
C: private関数
V: public関数
C: private関数
890デフォルトの名無しさん
2024/02/21(水) 16:02:41.28ID:IVa7P8gb >>887
MVCといってもクライアントサイドのMVCとサーバーサイドのMVCで考え方が違う
また入力処理と言っても人によって指すものが違うので具体的にどういう処理を入力処理とみなしているか書かないとわからない
さらに移植とライブラリ変更は一般的に違うものなので想定状況が伝わらない
MVCといってもクライアントサイドのMVCとサーバーサイドのMVCで考え方が違う
また入力処理と言っても人によって指すものが違うので具体的にどういう処理を入力処理とみなしているか書かないとわからない
さらに移植とライブラリ変更は一般的に違うものなので想定状況が伝わらない
891デフォルトの名無しさん
2024/02/21(水) 17:11:10.76ID:RdIBo6ag M: member
V: virtual
C: constexpr
// 空目
V: virtual
C: constexpr
// 空目
892デフォルトの名無しさん
2024/02/21(水) 18:43:28.52ID:1mshJDzd Mutable
Virtual
C++
Virtual
C++
893デフォルトの名無しさん
2024/02/21(水) 20:19:29.17ID:ryHNx0AS 用語や形にこだわるより先に仕様通り動くもの作れ。くだらないこだわりで何も始められないのはただのアホ
894デフォルトの名無しさん
2024/02/21(水) 21:53:18.35ID:gKvdV+n9 唐突なストローマン論法で草
雑魚味が濃すぎる
雑魚味が濃すぎる
895デフォルトの名無しさん
2024/02/21(水) 21:58:52.64ID:1UKYnLzP >>887
元々は移植性のためにモデルはそのまんま環境と切り離した処理そのものを
ヴューは人間の目に触れる画面レイアウト周り、そしてコントローラーは
それらを繋ぐインターフェイスとして実装という考え方なので
ゲームをPC、コンシュマー、モバイルと移植します画面周りはVです
操作されるゲームの中身はMです、つなぐ部分はCです
…ん?マウスと十字キーとタッチパネル対応はどこまでがCだ?ってなるけど
AIに聞けばテンプレどおりそら「Cに分けなさい」言われるわな
元々は移植性のためにモデルはそのまんま環境と切り離した処理そのものを
ヴューは人間の目に触れる画面レイアウト周り、そしてコントローラーは
それらを繋ぐインターフェイスとして実装という考え方なので
ゲームをPC、コンシュマー、モバイルと移植します画面周りはVです
操作されるゲームの中身はMです、つなぐ部分はCです
…ん?マウスと十字キーとタッチパネル対応はどこまでがCだ?ってなるけど
AIに聞けばテンプレどおりそら「Cに分けなさい」言われるわな
896デフォルトの名無しさん
2024/02/21(水) 22:04:57.80ID:Ufq19E/Q ゲームとビジネスアプリとでは違って来るよな
ゲームなら🎮や⌨はCだが、ビジネスアプリでは単にVの付属物だったりする
ゲームなら🎮や⌨はCだが、ビジネスアプリでは単にVの付属物だったりする
897デフォルトの名無しさん
2024/02/21(水) 22:11:27.33ID:UHHgkSfj うそやん
マウス対応やタッチパネル対応はViewやぞ
AIに聞いてもそう答えるぞ
マウス対応やタッチパネル対応はViewやぞ
AIに聞いてもそう答えるぞ
898デフォルトの名無しさん
2024/02/21(水) 23:59:03.36ID:anjrCapC 「入力」の抽象度の違い
ビューに依存した入力とそこから一段階抽象度が上がったビューに依存しない入力がある
それを認識できてればどこに含めるか迷わない
ビューに依存した入力とそこから一段階抽象度が上がったビューに依存しない入力がある
それを認識できてればどこに含めるか迷わない
899デフォルトの名無しさん
2024/02/23(金) 11:08:19.40ID:SaGFiexu https://twitter.com/mayappy0627/status/1725074809883898273
M a y a ♡🏳⚧ヽ(๑╹◡╹)v🏳🌈
@mayappy0627
「シスヘテロ男性が女湯に入りたい目的で嘘をついて診断書を取得し性別適合手術を受ける可能性がある」
という言説がいまだに流れている様だが
女湯入ってオカズ目に焼き付けてもチン◯ないからシコれませんのでね。つまり男性的快楽は得られないという結末の一つさえ想定できないんでしょうかね?
午後5:54 · 2023年11月16日
·
https://twitter.com/thejimwatkins
M a y a ♡🏳⚧ヽ(๑╹◡╹)v🏳🌈
@mayappy0627
「シスヘテロ男性が女湯に入りたい目的で嘘をついて診断書を取得し性別適合手術を受ける可能性がある」
という言説がいまだに流れている様だが
女湯入ってオカズ目に焼き付けてもチン◯ないからシコれませんのでね。つまり男性的快楽は得られないという結末の一つさえ想定できないんでしょうかね?
午後5:54 · 2023年11月16日
·
https://twitter.com/thejimwatkins
900デフォルトの名無しさん
2024/02/23(金) 11:14:17.40ID:GPv4EW4D きんたま切り落とした時点で男性ホルモンは著しく減衰して性欲は無くなるよ🥲
901デフォルトの名無しさん
2024/02/23(金) 11:34:54.51ID:QK/ZoJ33 class Man(Human):
...
def do_chinko():
if (chinko is None): return None
return finish()
...
...
def do_chinko():
if (chinko is None): return None
return finish()
...
902デフォルトの名無しさん
2024/02/28(水) 21:12:31.15ID:igsDoIyP >女湯入ってオカズ目に焼き付けてもチン◯ないからシコれませんのでね
人間に独立した人格が有るように、チンポにも独立したチン格が有る
これは親クラスと子クラスの継承関係である
チン格とはつまり「愚息」であり、自分にも他人にも成り得る
これがオブジェクトの多態性と表現される
オシッコするときのチンポは随意筋、勃起するときのチンポは不随意筋
このように時と場合によって真逆の性質を併せ持つことができる
随意筋 不随意筋
↖ ↗
チンポ
自然言語処理において語の意味は文脈によって変わるので、Pythonのような多重継承が不可欠ね!
人間に独立した人格が有るように、チンポにも独立したチン格が有る
これは親クラスと子クラスの継承関係である
チン格とはつまり「愚息」であり、自分にも他人にも成り得る
これがオブジェクトの多態性と表現される
オシッコするときのチンポは随意筋、勃起するときのチンポは不随意筋
このように時と場合によって真逆の性質を併せ持つことができる
随意筋 不随意筋
↖ ↗
チンポ
自然言語処理において語の意味は文脈によって変わるので、Pythonのような多重継承が不可欠ね!
903デフォルトの名無しさん
2024/02/28(水) 21:59:59.89ID:N6In+Wna 機能するかどうかだけが問題で、欲求があるかどうかはあんまり関係無いよな
904デフォルトの名無しさん
2024/02/29(木) 17:11:51.40ID:lYDtPhZw オブジェクト指向では、オブジェクトの「機能」を意識することが大切ね!
>>903
>機能するかどうかだけが問題で
オブジェクト指向(OOP) は、データとそれに関連するメソッドを 「クラス」という単位でまとめて管理する開発手法です。
このアプローチにより、開発者は複雑な機能も再利用可能なモジュールとして効率的に構築できます。例えば、
新しい機能を開発する際、既存のクラスから必要なデータを取得し、必要に応じて新しい機能を追加することが可能です。
https://zenn.dev/cloud_ace/articles/29748ac0537c7f
>>903
>機能するかどうかだけが問題で
オブジェクト指向(OOP) は、データとそれに関連するメソッドを 「クラス」という単位でまとめて管理する開発手法です。
このアプローチにより、開発者は複雑な機能も再利用可能なモジュールとして効率的に構築できます。例えば、
新しい機能を開発する際、既存のクラスから必要なデータを取得し、必要に応じて新しい機能を追加することが可能です。
https://zenn.dev/cloud_ace/articles/29748ac0537c7f
905デフォルトの名無しさん
2024/02/29(木) 17:34:03.72ID:l9BYiy+8 モダンなプログラミング言語
Go、Rust、Zig、Nim、Julia、Elixirなどは
クラスおよびその継承を言語仕様から排除しておりクラスは存在しない
各々の言語は全く異なる方針を採っている言語だがクラス排除だけは全てが同じ方針である
クラスとその継承は悪手であるとプログラミング言語界では結論が出ている
Go、Rust、Zig、Nim、Julia、Elixirなどは
クラスおよびその継承を言語仕様から排除しておりクラスは存在しない
各々の言語は全く異なる方針を採っている言語だがクラス排除だけは全てが同じ方針である
クラスとその継承は悪手であるとプログラミング言語界では結論が出ている
906デフォルトの名無しさん
2024/02/29(木) 18:33:41.13ID:j2QgmuXb むしろ、何段も継承されてわけわからん事になるのが嫌われてるだけなので
swiftなんかはfinalつけてサブサブクラス禁止できるようにしてるな
swiftなんかはfinalつけてサブサブクラス禁止できるようにしてるな
907デフォルトの名無しさん
2024/02/29(木) 18:44:02.92ID:SAazNRBP こんなスレで御託長文書くのはプログラム作れない人
908デフォルトの名無しさん
2024/02/29(木) 18:55:21.40ID:8i6X/khC 悪手と言われると、極めたくなるんだよなあ
909デフォルトの名無しさん
2024/02/29(木) 21:12:27.90ID:zvBPwraZ910デフォルトの名無しさん
2024/02/29(木) 21:41:50.06ID:PlWfF7KT クラスが存在しないことが最重要だからクラスを採用しない言語が増えてるんだよ
クラスは間違った手法『具象型から具象型への継承』となる禁忌のクラス継承を伴うからね
オブジェクト指向に必要なカプセル化は構造体などでもちろん可能だから
オブジェクト指向にはクラスは不要だよ
そしてインターフェイスや型クラスなどによる正しい手法『抽象型から具象型への継承』が代わりにあればよい
モダンな各プログラミング言語はそれらの方針をとっている
だからクラスが採用されてないんだよ
クラスは悪
クラスは間違った手法『具象型から具象型への継承』となる禁忌のクラス継承を伴うからね
オブジェクト指向に必要なカプセル化は構造体などでもちろん可能だから
オブジェクト指向にはクラスは不要だよ
そしてインターフェイスや型クラスなどによる正しい手法『抽象型から具象型への継承』が代わりにあればよい
モダンな各プログラミング言語はそれらの方針をとっている
だからクラスが採用されてないんだよ
クラスは悪
911デフォルトの名無しさん
2024/02/29(木) 22:35:54.39ID:8i6X/khC 継承に親兄弟を殺された人がいるようだが 世界は残酷なのだ
912デフォルトの名無しさん
2024/02/29(木) 22:42:52.64ID:PlWfF7KT 悪い→『具象型から具象型への継承』←クラス
良い→『抽象型から具象型への継承』←インターフェース・型クラスなど
良い→『抽象型から具象型への継承』←インターフェース・型クラスなど
913デフォルトの名無しさん
2024/02/29(木) 22:58:22.40ID:eayaXhXN 要は個人開発レベル小規模webサイトレベルなら継承の類不要?つうかDIだけでは駄目なん?
914デフォルトの名無しさん
2024/02/29(木) 23:10:15.09ID:M4AFeBSO 規模にかかわらず同じ
抽象型からの継承は問題ない
クラス継承はダメ
抽象型からの継承は問題ない
クラス継承はダメ
915デフォルトの名無しさん
2024/03/01(金) 08:38:11.92ID:FDcCyCi3916デフォルトの名無しさん
2024/03/01(金) 08:59:14.79ID:PeOPXftI そこでダックタイピング(の併用)だな
うん、継承一本ってのは、人類には早かった
うん、継承一本ってのは、人類には早かった
917デフォルトの名無しさん
2024/03/01(金) 09:08:35.51ID:JrOItvM9 クラス継承は具象型からの継承なので多重継承の問題が発生する悪い方法だが
抽象型からの継承は多数あっても合成となり良い方法
>>915
抽象型は各機能毎に細かく多数用意されて合成して使うためそのような問題が起きない
抽象型の改変とは機能を変えることになるため別の抽象型として並行して扱える
抽象型からの継承は多数あっても合成となり良い方法
>>915
抽象型は各機能毎に細かく多数用意されて合成して使うためそのような問題が起きない
抽象型の改変とは機能を変えることになるため別の抽象型として並行して扱える
918デフォルトの名無しさん
2024/03/01(金) 10:31:31.13ID:Lv7uqw7J919デフォルトの名無しさん
2024/03/01(金) 10:32:36.36ID:YMlxHHtw まあ、たいていのクラス設計は
製造終盤になると跡形も無いんだがな
製造終盤になると跡形も無いんだがな
920デフォルトの名無しさん
2024/03/01(金) 10:56:06.21ID:67BTULI7 >>918
クラスはピラミッド型の階層構造となり改変で他へ影響が大きく出る問題があり
クラスは具象型なのでそれ自体がメンバ変数(フィールド変数)を持ち途中階層のクラスも持つため改変が非常に大変もしくは崩壊となりがち
抽象型でメンバ変数(フィールド変数)を持たないインタフェイスや型クラスではその問題が起きない
それら抽象型による各機能の合成をとるため改変する場合も他機能への影響が限定的となり問題を分離することができる
クラスはピラミッド型の階層構造となり改変で他へ影響が大きく出る問題があり
クラスは具象型なのでそれ自体がメンバ変数(フィールド変数)を持ち途中階層のクラスも持つため改変が非常に大変もしくは崩壊となりがち
抽象型でメンバ変数(フィールド変数)を持たないインタフェイスや型クラスではその問題が起きない
それら抽象型による各機能の合成をとるため改変する場合も他機能への影響が限定的となり問題を分離することができる
921デフォルトの名無しさん
2024/03/01(金) 12:34:53.51ID:JFzuIw6k 人間が理解しやすくなればなんでもいいシコ
922デフォルトの名無しさん
2024/03/01(金) 12:45:52.70ID:FDcCyCi3 >>920
メンバ変数の無い抽象型であっても、分離できるのは実装部分でしかなくて、「機能ではなく型の種類&名前で縛られる」という設計の初期の困難さは回避できていないよ。
まぁ、インターフェイスとかトレイル(Rustの偽物は論外)とかでもモジュール境界とモジュール間連携の問題は解決できていないからなぁ。何かいいアイディア無い?
メンバ変数の無い抽象型であっても、分離できるのは実装部分でしかなくて、「機能ではなく型の種類&名前で縛られる」という設計の初期の困難さは回避できていないよ。
まぁ、インターフェイスとかトレイル(Rustの偽物は論外)とかでもモジュール境界とモジュール間連携の問題は解決できていないからなぁ。何かいいアイディア無い?
923デフォルトの名無しさん
2024/03/01(金) 12:51:44.04ID:9l2p08EB IDEのリファクタリング機能があれば何でもいいよ
924デフォルトの名無しさん
2024/03/01(金) 16:38:06.02ID:gwVYOw6C >>905
バカの一つ覚え
バカの一つ覚え
925デフォルトの名無しさん
2024/03/01(金) 17:27:04.12ID:PeOPXftI それが>>911 の人、何人かいるっぽい
926デフォルトの名無しさん
2024/03/01(金) 20:56:33.23ID:KQ1HmSrc 継承には感謝しかないです
927デフォルトの名無しさん
2024/03/01(金) 21:29:01.44ID:NM6ffmiH クラス継承さえ使わなければ
継承は便利だからね
継承は便利だからね
928デフォルトの名無しさん
2024/03/01(金) 22:31:08.80ID:qr8UCngy メソッドだけ継承できればいいよ
929デフォルトの名無しさん
2024/03/02(土) 07:16:17.19ID:7IvxOyHp クラスとかメソッド集合としての機能だけあればいい。
その代わりに外延性と集合演算をサポートしてくれ。そうすりゃ継承みたいなクソツールは要らなくなる。
その代わりに外延性と集合演算をサポートしてくれ。そうすりゃ継承みたいなクソツールは要らなくなる。
930デフォルトの名無しさん
2024/03/02(土) 11:56:05.36ID:0RQhliLl クラスとか継承とかに不満持つのは不思議なんだが、他人の作ったコードやライブラリをうまく流用出来ずに文句言ってるのか?
自分で作る分には言語の機能にあっても使わなきゃいいだけだろうに
他の人が理解できないからだ、ってのならその「他の人」に言え
自分で作る分には言語の機能にあっても使わなきゃいいだけだろうに
他の人が理解できないからだ、ってのならその「他の人」に言え
931デフォルトの名無しさん
2024/03/02(土) 12:17:52.47ID:+4BUdsxu 人間が理解しやすくしなよ
932デフォルトの名無しさん
2024/03/02(土) 13:55:18.96ID:ILWRlrIw >>930
他の人になんて言えば良い?
他の人になんて言えば良い?
933デフォルトの名無しさん
2024/03/02(土) 13:56:06.21ID:pYjRDwip >>930
クラス継承については全員が問題視している
Javaの生みの親ですらJavaを作り直せるならクラスを除外すると明言している
そして現実にモダンなプログラミング言語
Go、Rust、Zig、Nim、Julia、Elixirなど全てがクラスを除外している
>Javaのユーザグループミーティングに出席した際、
>James Gosling(Javaの生みの親)がメインの講演者として招かれていました。
>すばらしいQ&Aセッションの途中に、こんな質問が出ました。
>「もう一度最初からJavaを作り直すとしたら、どこを変更したいですか?」
>答えは「クラスを除外するでしょうね」というものでした。
>彼が説明したのは、本当の問題はクラス自体ではなく実装継承(extendsの関係)なのだということでした。
>インターフェースによる継承(implementsの関係)のほうが望ましいのです。
>できる限り実装継承は避けたほうがよいでしょう。
クラス継承については全員が問題視している
Javaの生みの親ですらJavaを作り直せるならクラスを除外すると明言している
そして現実にモダンなプログラミング言語
Go、Rust、Zig、Nim、Julia、Elixirなど全てがクラスを除外している
>Javaのユーザグループミーティングに出席した際、
>James Gosling(Javaの生みの親)がメインの講演者として招かれていました。
>すばらしいQ&Aセッションの途中に、こんな質問が出ました。
>「もう一度最初からJavaを作り直すとしたら、どこを変更したいですか?」
>答えは「クラスを除外するでしょうね」というものでした。
>彼が説明したのは、本当の問題はクラス自体ではなく実装継承(extendsの関係)なのだということでした。
>インターフェースによる継承(implementsの関係)のほうが望ましいのです。
>できる限り実装継承は避けたほうがよいでしょう。
934デフォルトの名無しさん
2024/03/02(土) 13:58:52.73ID:ILWRlrIw ねえ!他の人になんて言えばいいの!?
935デフォルトの名無しさん
2024/03/02(土) 14:38:32.67ID:an2Rf2WF 「俺は継承に親を殺された。絶対赦さない。絶対にだ」
936デフォルトの名無しさん
2024/03/02(土) 14:43:33.20ID:ILWRlrIw 。°(´∩ω∩`)°。
937デフォルトの名無しさん
2024/03/02(土) 14:47:09.39ID:iW0xTm2n938デフォルトの名無しさん
2024/03/02(土) 15:01:00.73ID:OiLnCmP5 >>933
バカの一つ覚え乙
バカの一つ覚え乙
939デフォルトの名無しさん
2024/03/02(土) 15:26:08.25ID:5qddeDE5940デフォルトの名無しさん
2024/03/02(土) 17:53:44.47ID:JmA8+V/x 継承すると結合度が高くなり、基底クラスがいじりにくくなるから
implements で名前だけ基底クラスで宣言した方がよい
という経験則なわけね
implements で名前だけ基底クラスで宣言した方がよい
という経験則なわけね
941デフォルトの名無しさん
2024/03/02(土) 18:23:50.25ID:C5B9iefL942デフォルトの名無しさん
2024/03/02(土) 21:21:19.79ID:6JiP4UcJ 15年ぐらい前はstaticおじさんが馬鹿にされてたけど今じゃオブジェクト指向がオワコン呼ばわりかぁ
Lisp使おう()
Lisp使おう()
943デフォルトの名無しさん
2024/03/03(日) 00:19:19.60ID:Ic67hcFY 処理系も書かずに使おう(笑)
944デフォルトの名無しさん
2024/03/03(日) 12:51:43.47ID:s0HRTEoD オブジェクト指向に毒されてるpowershwll,python,ruby等も終わりかな
F#に興味出てきたな
F#に興味出てきたな
レス数が900を超えています。1000を超えると表示できなくなるよ。
ニュース
- 日本の立場説明へ…外務省局長が北京到着 “台湾有事”首相答弁に中国反発 ★3 [煮卵★]
- 国内ホテル、既にキャンセルも 訪日客関連業界、事態見守る ★2 [蚤の市★]
- NHK、受信料の未払い世帯に督促強化へ 民事手続きの新組織を設置 差し押さえなどの強制執行も [1ゲットロボ★]
- 【日本大使館】中国在留邦人は安全確保を [ぐれ★]
- 【外交】日中関係悪化、長期化の様相 2012年には自動車輸出80%減も ロイター★2 [1ゲットロボ★]
- 【野球】井端監督 大谷翔平、山本由伸らのWBCへの参加 「1日も早く返事ほしい」「待っててといっても、国内組が遅くなってしまう」★3 [冬月記者★]
- 【悲報】女性初の総理大臣 高市早苗氏、安倍晋三さんが積み上げてきたものを一瞬でぶっ壊してしまう😱wwwwwwwwwwwwwwwwwwwwww [871926377]
- 高市のおばちゃん「毎年5兆円あれば食料品の消費税軽減税率をずーっとゼロにできるよ」👈いきなり2兆円の損失を出す😲 [521921834]
- 愛国者ナザレンコ「左翼は自己中な差別主義者で偽善者。日本人ファーストを叩いておいて台湾人が死んでも知らな〜いでしょ。中露の犬」 [856698234]
- 高市早苗のあだ名「キングボンビー」に決まる [931948549]
- 【悲報】有名ウヨ論客、「現実的に考えて中国と仲直りするしかなくね?」と言ったら野良ウヨから総叩きにあう [856698234]
- 【高市悲報】経団連会長、高市と面談「おい!ちゃんと中国と対話しろよ!😨」 [359965264]
