- ベストアンサー
クラスとは何?と聞かれたら
お世話になります。 「オブジェクト指向におけるクラスとは何ですか?」 という質問に対して、 「任意に定義できる新しい型のことです。そして基本型とは違って、任意の数の属性、任意の数のふるまいを持つことができます。」 という答えは、 1. 間違いになるでしょうか? 2. そう尋ねられた場合はどう答えますか? よろしくご教授ください。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
>1. 間違いになるでしょうか? 単なる質問に対する答えでは、それでいいと思いますけど、質問者さんの学習レベルによっては若干違ってくるかも知れませんね。それなりにJavaの勉強をされてきた人ならば、基本型(=クラスライブラリ)、属性(=フィールド)、ふるまい(=メソッド)と、それぞれ置き換えて解釈できると思いますが、それすら知らない初心者の方々にとっては、立て続けに質問されそうですし…。 >2. そう尋ねられた場合はどう答えますか? 他の言語による経験者の方々を想定すると、以下のようになるかと。 「『フィールド』と呼ばれる変数と、『メソッド』と呼ばれる関数が定義されているひな型のようなもの。単に定義されているだけなので、それだけでは利用できず、new演算子によって生成されたインスタンスと関連付けて使用される。ただし、それぞれの『フィールド』や『メソッド』にstatic修飾子がある場合には、各々、クラス変数やクラスメソッドと呼ばれ、インスタンス化しなくてもクラス名による使用が可能となる。」 それから、設計などと絡めると以下のようにもなりますね。 「要求分析の工程によって、ユースケース図やシナリオ、イベントフローなどによりモデリングされたオブジェクトを、抽象化したもの。後に、インスタンス化して使用する際の元となる、設計図のようなもの。」 ポイントとしては、プログラマーからしたらクラス図やシーケンス図などによって、元々クラスそのものが存在しているかのような印象を受けがちですが、実際にはそうではなく、誰かがプログラミングの工程までに、デザインパターンなどの設計手法なども採り入れながら、詳細についてドキュメント化してくれているわけなんですよね。
その他の回答 (4)
- suseimei
- ベストアンサー率35% (17/48)
相手のレベルに依存すると思います。 詳細は参考URLに譲ります。
- bnosuke
- ベストアンサー率21% (4/19)
こんばんは。 最近類似の質問に回答したので、ここでも回答させていただきます。 1.間違いではないでしょう 2.「ある存在や事象を表現する値の集合に、それを操作する手法を付加したもの」 以上が私の見解です。 どうぞ参考にしてください。
- yuki22
- ベストアンサー率28% (8/28)
こんばんはです^^ 簡単に。 インスタンス化し、それぞれ必要な値を返してくれるメソッドを持ってるもの。 だと思います。 難しく言ってしまえばもっとあるかもですw
- MrBan
- ベストアンサー率53% (331/615)
私見100%で書いてますが、 「オブジェクト指向におけるクラスとは何ですか?」 Javaに限られないように見えるのでその前提で。 1. 間違ってはいないと思うが、正解とも言いにくい。かな。 2. 操作を通じて単一またはいくつかの責務を果たす情報の基本単位。 その必要に応じて状態や識別性等の属性をもつ、とか。 # 「オブジェクト指向におけるクラス」の本質は責務の単位だと思うので、 # 簡単に書くなら継承とか情報隠蔽とか説明するよりはこんな感じ?