- - PR -
クラスと継承とオブジェクトについて
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-04-24 20:39
オブジェクトは、
データとそれを処理する機能をもっていて、クラスと呼ばれる型から作られる。 操作の対象であり、データ(値)と処理を一つにした部品。 クラスは、 クラスはオブジェクトの雛型とか設計図と呼ばれ、変数やメソッドを定義する。 継承とは、 スーパークラスの機能を継承してサブクラスを作成することです。 という感じですか? もっとこういう言い方した方がいいとか、足りないとかあったら教えて下さい。 | ||||||||
|
投稿日時: 2005-04-24 20:55
何が目的なのか(何に使うのか)、字数制限があるのかどうかさっぱり分からないで、どうですかといわれても困るのですが、1つだけ。
微妙な違いですが、スーパークラスが先に存在しているわけではありません。 あるクラスの機能を継承して新しいクラスを作る。 そうした場合、この新しく作られたクラスから見て、基のクラスがスーパークラスとなるわけです。 それにしても、「継承とは」を説明するのに、「継承」という文字が使われているのは妙な感じがしますけどね。 | ||||||||
|
投稿日時: 2005-04-24 21:47
そんな感じで大体オッケーではないでしょうか。
よく一般的にJavaでは「オブジェクト」の部分をインスタンスと言います。 イメージ的には 「犬」がクラスで、「ポチ」がインスタンスです。 で、「動物」が「犬」のスーパークラスと考えればいいかな。。。 これをソースで示すと、
こんな感じのソースになります。 まずは、この辺を覚えて下さいな。 適当なプログラムを作ってみてから、動きを理解して その後インターフェイスや抽象クラスを勉強してみてください。 | ||||||||
|
投稿日時: 2005-04-24 21:53
どもでふ。がると申します。
これ以上ないほど完璧に手前味噌なので非常に恐縮なのですが。 http://jibun.atmarkit.co.jp/scenter/bbs/viewtopic.php?topic=9255&forum=21&2 このURLに、その辺の用語の説明が簡単に、実も蓋もなく書いてあります(笑 ちょろっと補足をしますと。 スーパークラスは、基底クラスと同意です。 また、継承を極端に大雑把に書きますと 「とあるクラス(単数の場合と複数の場合がある点に留意)を元に、 クラス変数やメソッドなどを追加したり変更したりして新しいクラス を作る」のが継承です。 なので、
を書き換えると、 親クラスの機能に追加や修正をしてサブクラスを作成すること といえるかと思います。 # スーパークラスは「一番元になるクラス」なので。継承で直接 # 関係するのは、直近に存在している「親クラス」です。 # また、継承の説明で「継承」という単語があるのは微妙なので、 # ここには「機能の追加や修正」という言葉を入れています 参考になればよいのですが。 | ||||||||
|
投稿日時: 2005-04-24 22:02
ありがとうございます!
勉強になりました。 その辺もう少し調べてみたいと思います。 | ||||||||
|
投稿日時: 2005-04-24 22:07
記述されている内容について不満はないのですが
カプセル化についてふれられていないのが ??? な感じがします。 オブジェクト指向といったら ・カプセル化 ・継承 ・他態性 だと思うのですが・・・ | ||||||||
|
投稿日時: 2005-04-24 22:41
まだそこまでのお話に達していないと思います。 クラスとは?インスタンスとは?の状態で、 カプセル化や多態性について突っ込みを入れるのはどうかと・・・ | ||||||||
|
投稿日時: 2005-04-25 10:16
つっこみを入れようと思ったわけではなくて・・・ ・継承を説明するには基底クラスと派生クラスと最低 2 つの クラスが出てきますよね。 ・多態性はクラス毎の振る舞いの差異についてなので 説明するには 2 つ以上のクラスが出てきますよね。 ・カプセル化については 1 つのクラスだけで説明ができると思うんです。 もちろん、カプセル化の対象となるのは『他のクラス』なので 2 つ以上クラスが出てくると言えば言えなくもないのですが・・・。 結局何が言いたかったかというと 1. オブジェクト 2. クラス 3. カプセル化 ← この場所 4. 継承 ・ ・ ・ っていう順序にならない?とちょっと思っただけだったんですけど・・・。
なので・・・ |