喫茶XRAYトップページ

[スレッド全体
]

[7664] Re2:クラス名とは返信 削除
2014/6/23 (月) 19:08:03 Mr.XRAY
▼ おかぽんさん

> それって説明が必要なものなんでしょうか?

ハハハッ.説明しなくても,実際にプログラムをしていると,
概念的に理解できるとは思うのですが.と私は思っています.

> オブジェクト思考では、乗り物を例にした説明が多い気がします。
> http://www.itmedia.co.jp/im/articles/0212/12/news001.html
>
> 「乗用車」「バス」「トラック」こういうのがクラス名だと思いますが、
> それを「どうして乗用車なの?」とか聞かれても困ります。


ギョヘ.こんな説明があるんですね.知りませんでした.
記事を読んでいたら,頭が混乱してきた〜 !!

いいもん,いいもん,人に「ご教授」することはないから.


[7665] Re3:クラス名とは返信 削除
2014/6/24 (火) 05:29:23 AskMeNot
▼ Mr.XRAYさん

 何度か外を通りかかっていました。初めて入店します。なるほど街で頓に
稀薄になってしまった珈琲(Delphi)のいい香りがしますね。

 さて、クラス名のことですがこんなのはどうでしょう。
 一つの料理を作るにはレシピと材料とが必要です。レシピに合わせて材料
を加工することにより料理が出来上がります。レシピがクラスです。一つの
アプリケーションを一軒のフランス料理店のフルコースに譬えるなら、一皿
毎のレシピ名がアプリケーションの組み立てに使われたクラス名ということ
になります。

 駄目でしょうかね、説明がいい加減過ぎますか?



[7666] Re4:クラス名とは返信 削除
2014/6/24 (火) 06:15:49 Mr.XRAY
▼ AskMeNotさん

>  さて、クラス名のことですがこんなのはどうでしょう。
>  以下,略


なるほど,クラスの役割,位置づけみたいなものですね.
メールで訊いた方も,もしかしたら,ここ読んでいるかも知れません.
参考になるでしょう.
しかし,改めて訊かれると,ホント,困ってしまいます.

>  駄目でしょうかね、説明がいい加減過ぎますか?

いやいや,そんなことありませんです.ハイ.
それになっていったって,喫茶店ですから.
先日の都議会議員のセクハラ発言みたいのは困りますが(笑)

# 筆者の方には申し訳ないのですが,乗用車のたとえは,
# 私的にはちょっと,という感じがしました.


[7667] Re5:クラス名とは返信 削除
2014/6/24 (火) 06:16:36 Mr.XRAY
書いて思いだしました.塚越さんの本がいいような気がします.


[7668] Re6:クラス名とは返信 削除
2014/6/24 (火) 06:41:24 Mr.XRAY
>クラス名とは ? と訊かれてしまいました

そもそも,こういう難しいことを私に訊くことが間違っているのです.きっと.
オブジェクト指向だか,クラスだか,クラス名だか,なんだか知らないけど,
ともかく,アプリケーションが作成でき,動作すればいいのだ !!

毎度おなじみですが,
アプリケーションは動いてなんぼ,
「勝てば官軍,動けば正義」です.ハイ.
理屈なんか,知ったことか !! なんてね.


[7671] Re6:クラス名とは返信 削除
2014/6/24 (火) 14:32:32 taki
▼ Mr.XRAYさん
> 書いて思いだしました.塚越さんの本がいいような気がします.

Software Technology22
Delphi オブジェクト指向プログラミング 塚越一雄 著 技術評論社 ですか?

長らく神棚に飾ってありました。
最近ようやく内容が理解できるようになりました。


[7678] Re7:クラス名とは返信 削除
2014/6/26 (木) 13:10:12 taki
> 最近ようやく内容が理解できるようになりました。

塚越氏の本を読んで私はこんな風に理解しました。

ある機能を実現するためにプログラム言語の命令を並べたものが関数(や手続き)である。
また、特定の様式のデータの塊をレコード型として扱うことができる。

レコード型は基本的にデータを記憶する物だが、ポインタ型により関数(の開始アドレス)を登録できる。
それにより、レコード型はデータと関数機能の両方を保持できるようになりオブジェクトになった。
つまり、オブジェクト型はデータと関数の両方を持ったレコードである。

例えば、TStringList(クラスだが…)はTextというデータを保持する部分(プロパティ)を持っているし、
AddとかSortとかの関数の機能(メソッド)も持っていることからも分かる。

このオブジェクト型は自己完結的で自分自身を生成する.Createとかメモリから解放する.Freeとかの
機能まで持ち、プロパティにふさわしくないデータをチェックする機能(アクセス手続き)とかも持っている。

オブジェクト型は、コンパイル時にメモリに配置される静的オブジェクトとプログラム実行時に生成できる
動的オブジェクトの両方があります。(本にそのように書いてあります。^_^;)

OSのWindowsは限られたメモリを有効に使う為、機能が必要になった時にオブジェクトを生成し、
不要になったらメモリを解放する手法をとっています。

だから、動的オブジェクトであれば、ポインタで必要な時に必要な数メモリに配置することができ便利です。
この動的オブジェクトを専用に扱う型がClass型になります。

Class型はT新クラス=class(元クラス)と定義すると、新クラスは元クラスの全機能を引き継いでくれます。
卵を割ったらその中に小さな卵(元クラス)が入ってたような感じです。

この、継承という機能が便利で、単純な元クラスに少しずつ新たなデータ(プロパティ部分)と
機能(メソッド)をくっつけて新しいクラスを作れるので、機能の拡張が安全にかつ簡単にできます。

それで、クラス名とはその時に付けられる名前です。

えっ!分かってないって?
石は投げないでください。


[7679] Re8:クラス名とは返信 削除
2014/6/26 (木) 14:55:07 Mr.XRAY
▼ takiさん

読ませていただきました.

> 石は投げないでください。

石でなくて,ケーキ持っていきますって.
taki さんの文章と,おかぽんさんの文章,当サイトの [その他] のページに
書きたいですね,
例によっていつになるか分かりせんが,こういう掲示板の発言にも
著作権があるようですので.よろくし,ご了承くださるようにお願いします.


[7669] Re3:クラス名とは返信 削除
2014/6/24 (火) 10:48:18 千絵
▼ Mr.XRAYさん
> ▼ おかぽんさん

> > オブジェクト思考では、乗り物を例にした説明が多い気がします。

乗り物を例にとった記事、目からうろこでした。
な〜るほど、クラスってそういうものだったのですね。
別のものに例えるというのは、初心者にとってはわかり易いです。


>いいもん,いいもん,人に「ご教授」することはないから.

え〜〜っ! そんなぁ
楽しみにしておりますのに・・・



[▼次のスレッド]
INCM/CMT
Cyclamen v3.82