オブジェクト指向の「クラス」ってなんなの?

http://hayabusa9.5ch.net/test/read.cgi/news/1570620768/【元スレ】

今回の記事

1 2019/10/09(水) 20:32:48.20


インタビューア(以下「I」): あなたがソフトウェアデザインの世界を一変させてから何年にもなる。振り返ってみて、感想は。

Stroustrup(以下「S」): 実はあなたがここへ来る直前、当時のことを思い出していたんだ。
おぼえているかな。
誰もが C 言語を使っていたけど、問題はみんな結構うまくコーディングしていたことだった。
大学も C 言語を教えるのがうまくなっていたしね。驚
異的な割合で有能な——「有能」という言葉は強調しておきたい——卒業生を量産していた。
それが問題の原因だったんだ。

I: 問題?

S: そう、問題だったんだ。誰もが COBOL を使っていた頃のことはおぼえてる?

I: もちろん。僕もそうだった。

S: はじめの頃、COBOL ができる人間は神のような存在だった。給料も高かったし、王侯貴族のような扱いだった。

I: いい時代だったなあ。

S: うん。で、どうなった? 嫌気がさした IBM が何百万ドルもつぎ込んでプログラマを養成したものだから、COBOL プログラマは「一盛り十円」になってしまった。

I: だから僕は辞めたんだ。たった1年の間に給料が急落して、とうとうジャーナリストの方が給料がよくなったんだ。

S: そのとおりだ。で、当時は C プログラマにも同じことが起こっていたんだ。

I: なるほど。でも、要するに何が言いたいのかな。

S: ある日、オフィスにいたときに、ある策略を思いついたんだ。バランスを少し回復させる策略をね。
「プログラマが余るなんてことが絶対にありえないくらい、複雑でおぼえにくい言語があったらどうなるかな」ってね。
実は、この考えの一部は X10——例の X Window の——から頂いたんだ。
あれはひどいグラフィックシステムでね、Sun 3/60とかでないと動かなかった。
ばかばかしいくらい複雑な構文規則とか、わかりにくい関数とか、疑似オブジェクト指向的な構造とか、僕がほしいと思う要素は全部揃っていたんだよね。
今でさえ、生の X Window コードを書く人間なんていない。
正気を保つには Motif を使うしかないんだ。

https://monobook.org/wiki/Bjarne_Stroustrup_%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%93%E3%83%A5%E3%83%BC

みんなのコメント

5 2019/10/09(水) 20:33:48.16

構造体に関数を打ち込んだもの

6 2019/10/09(水) 20:34:14.46

考えるな
感じろ

10 2019/10/09(水) 20:34:58.10

クラスってのは俺やお前が馴染めなかった場所のことだよ

13 2019/10/09(水) 20:35:46.04

オブジェクトだよ

14 2019/10/09(水) 20:35:52.00

クラスと言うよりインスタンスでしょ

15 2019/10/09(水) 20:35:57.20

typedef structしとけば済む話やろ

17 2019/10/09(水) 20:36:24.58

データと関数まとめたものだよ

19 2019/10/09(水) 20:36:57.76

 
正解

アドレス

以上

 

20 2019/10/09(水) 20:37:02.71

Rubyの人が出てくる前に帰ろうぜ

22 2019/10/09(水) 20:37:59.86

オブジェクトの設計図

23 2019/10/09(水) 20:38:04.03

データ構造と関数ポインタ

24 2019/10/09(水) 20:38:06.81

構造体が分からないと、どうして変数と関数をまとめる必要があるのか、面倒じゃん。ってなるわな

25 2019/10/09(水) 20:38:10.02

テンプレートみたいなものと理解したが違うか

26 2019/10/09(水) 20:38:25.85

コード+データ

以下コメント続き

28 2019/10/09(水) 20:39:18.46

クラスとかインスタンスとか
車とか設計図とかの例えはわかるが
結局プログラム上では何かわからない

29 2019/10/09(水) 20:40:11.99

雛型みたいなもん

32 2019/10/09(水) 20:42:05.42

EXCELVBAでも、クラス定義したら ‘.’を入力すると同時にメンバー一覧を表示してくれるから非常に楽
オブジェクト指向に興味なくても、そのためにクラス作るだけで元が取れる気がする

33 2019/10/09(水) 20:43:22.99

H2-Aの関係とH2-Bの関係を考えると

34 2019/10/09(水) 20:43:40.16

はよコンセプト導入して

35 2019/10/09(水) 20:43:41.56

抽象化した入れ物のことだよ
インスタンスは、クラスを具体化したもの

36 2019/10/09(水) 20:43:53.33

シリアライズを考えたやつは天才だと今でも思ってる

37 2019/10/09(水) 20:44:18.70

夏の日の1993

38 2019/10/09(水) 20:45:03.11

一言で言うとまとまり
学校と一緒

39 2019/10/09(水) 20:45:34.97

VBAってクラスってより構造体じゃなかったっけ

41 2019/10/09(水) 20:45:54.44

ドレッドノート級(クラス)って言うだろ
戦艦クラスを継承したのがドレッドノートクラス
空母クラスと重巡洋艦クラスを多重継承したのがアドミラルクズネツホフクラス
そゆこと

44 2019/10/09(水) 20:47:54.90

グループで規則作ってプログラミングする際に
適切に運用できればまあ便利なのかなって感じ

51 2019/10/09(水) 20:50:11.73

階級じゃないな。
むしろ部類と言う方が近いかな。

52 2019/10/09(水) 20:50:31.63

逆恨み反日指向の「クラス」

53 2019/10/09(水) 20:50:46.46

夏の日の1993って果てしなくゲスな曲だよな

以下コメント続き2

55 2019/10/09(水) 20:53:18.61

1組とか2組とかだろ
クラス替えはドキドキした

57 2019/10/09(水) 20:55:32.35

まるで別人のプロポーションなんだろ

58 2019/10/09(水) 20:58:22.15

入れるとタピオカになる容器的なやつ

59 2019/10/09(水) 20:58:48.74

プログラミングなんて、そのうちAIがやってくれるようになるよ
今、どんどん自動化が進んでるしね

62 2019/10/09(水) 21:01:52.34

クラスは継承出来るよ?

64 2019/10/09(水) 21:03:32.91

1999恋をした?

65 2019/10/09(水) 21:04:22.42

traitを使いこなせ

67 2019/10/09(水) 21:05:36.40

指示待ち人間
指示されたら指示された通りに動く
自主的にやろうとしないのでいちいち指示しないといけない

69 2019/10/09(水) 21:05:37.63

凡人向けになんらかのメタファが必要なだけ

バリバリアセンブラで書き始める人間には不要な概念

72 2019/10/09(水) 21:08:42.81

Pythonを初めてできそうな気がしたときに、やっぱり自分には向いていないと気づかせてくれる仕組み

76 2019/10/09(水) 21:12:59.80

構造体の上位互換

77 2019/10/09(水) 21:15:35.73

プラプラしてないで働いたら?

79 2019/10/09(水) 21:19:08.50

最近はintとかもクラスになってるからな
大昔のビット構造前提でバイナリ演算やったら悲惨なことになる

81 2019/10/09(水) 21:22:39.11

public static void main

82 2019/10/09(水) 21:22:59.01

グルーピングでもあるんだよな。
親クラス、子クラスでいろいろと便利。
画面遷移とか同じ1行で勝手に振り分け出来るし。
まあ関数をポインタで呼び出してるようなもんだけど。

以下コメント続き3

83 2019/10/09(水) 21:23:19.13

さんねええええええん
びいぐみいいいいい

85 2019/10/09(水) 21:25:23.32

htmlのクラスとは違うの?

86 2019/10/09(水) 21:29:07.29

学校でいつも独りぼっちになってたところだよ

87 2019/10/09(水) 21:29:17.98

セイバー
アーチャー
ランサー
ライダー
キャスター
アサシン
バーサーカー

89 2019/10/09(水) 21:35:31.26

たこ焼き器の型

90 2019/10/09(水) 21:35:45.98

まず、UMLで設計しようよ
オマエら、即コーディングしてないか?

93 2019/10/09(水) 21:40:33.44

RPGで言うところのジョブって考えれば分かりやすい

99 2019/10/09(水) 21:43:15.78

Javaも多重継承できればなぁ

100 2019/10/09(水) 21:47:21.08

上級国民の「級」がクラス

102 2019/10/09(水) 21:52:59.08

Go「継承なんて飾りです。偉い人にはそれが分からんのですよ」

104 2019/10/09(水) 21:55:14.98

単純化しようとして複雑化してしまうモノ

109 2019/10/09(水) 21:57:52.73

解説書「クラスは設計図です」←この解説やめろ

112 2019/10/09(水) 21:59:43.12

JCBのブラックカード

113 2019/10/09(水) 22:04:00.94

ITドカタのみなさん
もっとマシなソフトを作ってね

114 2019/10/09(水) 22:05:54.93

クラスはDNAみたいなもんだ
インスタンスがRNAな
細胞が小さなオブジェクトでメッセージを送りあって出来るのがヒトってわけ

以下コメント続き4

118 2019/10/09(水) 22:10:14.14

自分の振る舞い方を知っている変数の枠組み?

123 2019/10/09(水) 22:16:32.58

関数をぶち込める構造体だよなそれ以上でもそれ以下でもなく

124 2019/10/09(水) 22:16:50.41

なんでクラス使うの?
構造体と関数別々でもいいじゃん

125 2019/10/09(水) 22:17:46.50

クラスも自分で書いたステップと言って実績に含めてたら出来る男と勘違いされた

131 2019/10/09(水) 22:26:12.23

だれにも正解を断言できない奇妙な世界
(確からしい)で動いていくしかない

139 2019/10/09(水) 22:49:31.06

OSF/Motif

143 2019/10/09(水) 22:54:58.08

今のプログラミングってGOFとかあんの?いわゆるデザインパターン的な

145 2019/10/09(水) 22:55:52.40

何か歌うたってただろ

146 2019/10/09(水) 22:56:08.51

ニミッツ級航空母艦の 級

147 2019/10/09(水) 23:03:12.67

スーパープログラマがちゃんと設計した全体として一貫性のあるクラスライブラリ群は有用だと思う。
IT土方がその場の思い付きで作りまくったクラスの山はゴミ同然。

148 2019/10/09(水) 23:04:31.14

継承も分からん。
普通に、関数とか、サブルーチンとかで良いじゃん、と思うのだけどな。

次によく読まれている記事


以上、【オブジェクト指向の「クラス」ってなんなの?】でした。

もし気に入っていただけたらツイッターなどでぜひぜひシェアをお願いします。更新の励みになります。