A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
class と構造体はオブジェクトかという話ですが、
C++/C# ではオブジェクトとはしないのが普通です。
class や 構造体から「生成」された「インスタンス」を
オブジェクトとするのが普通。
型の「定義」とそれから生成された「実体」は別物だからです。
ただ、単に構造体といった場合、型か実体かははっきりしないので
構造体をオブジェクトと呼ぶことはあるかもしれません。
流石に C++/C# ではclass をオブジェクトとは呼びませんね。
但し、classの方は、C++ を離れると、言語によっては classが
メモリ上にちゃんと実体を持つ、クラスオブジェクト
と呼ばれるオブジェクトになる言語が結構たくさんあります。
SmallTalk とか Delphi とか・・・
ところ変われば品変わるというということですね。
No.3
- 回答日時:
> プログラムで、classはオブジェクトと呼ばれることが多いみたい
初耳です(笑)。そうなんですか(笑)?
基本的にはclassとオブジェクトは(語義的には)別物だと思います。
一般には・・・うーん、語弊があるかもしれんですが、データ、例えば数値、文字列データ等を「オブジェクト」と呼ぶケースが多いですね。
ざっくり言うと、データ=オブジェクトです。
ただ、プログラミング言語を設計する時点で、データ群が何かしらの階層構造、あるいはヒエラルキーを持ってて、全てのデータがそれに所属してる場合に、それらのデータを「オブジェクト」と呼ぶ場合が多いようです。
つまり、基底の抽象データが一つあって、全てのデータが「そこから順繰りに派生してる」ような階層構造を成すように設計されてた時、それに所属するデータを「オブジェクト」と呼んだりする。
形式的にはオブジェクト指向で
「クラスを作ってデータを(継承を利用して)設計してる」
のと凄く良く似てますが、必ずしもプログラミング言語設計時にオブジェクト指向の言語を使う必要はないので、これはあくまで、「データ形式が全て抽象基底データから派生してるように設計した場合」でのオブジェクトで、必ずしもクラスと密接に関係している必要もありません。
恐らく、一般にオブジェクト、と言った場合、こういう「データそのもの」を呼ぶ場合の方が多いんじゃないでしょうか。
> 構造体はオブジェクトと呼んでも良いのでしょうか
呼ぶ必要はないと思います。
No.2
- 回答日時:
いちおう、ここは「C言語・C++・C#」のカテゴリーになっています。
そのそれぞれで「クラス」と「構造体」の意味や機能が違うので、一概には言えません。
# ちなみに
# C言語: 構造体だけで、クラスは存在しない
# C++: 機能はまったく同じもの。デフォルトのメンバーがPrivateになるのがクラス、Publicになるのが構造体
# C#: クラスは参照型、構造体は値型
ただ。
クラスは「オブジェクトの設計図」のようなものです。
クラス=オブジェクトではありません。
「クラス○○のオブジェクト」という言い方はしますが、これは「クラス○○の性質を持ったオブジェクト」という意味です。
同様に、構造体もオブジェクトではありません。
ですが「構造体××の 性質を持ったオブジェクト→構造体××のオブジェクト」という場合はあります。
No.1
- 回答日時:
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java 複数TBLのオブジェクトを1つの変数(オブジェクト)でまとめて管理したい 1 2022/12/17 00:12
- その他(プログラミング・Web制作) pythonでDBのカラム名で取得したオブジェクトの値を表示したい 1 2022/05/13 03:41
- Illustrator(イラストレーター) 【シェイプ形成ツール】でうまく分割できない 1 2022/05/26 10:57
- その他(プログラミング・Web制作) Pythonのデータ型 2 2023/04/26 12:53
- その他(プログラミング・Web制作) Pythonのオブジェクトの関数について 2 2023/05/11 19:15
- Visual Basic(VBA) VBAが止まります。 2 2022/09/02 14:02
- JavaScript オブジェクト配列の各メンバを任意の式で評価して、その評価値が最大のオブジェクトを返す関数はありますか 2 2023/05/20 15:02
- Illustrator(イラストレーター) ワード。グラデーションがうまく行かない。 2 2022/09/28 19:56
- PowerPoint(パワーポイント) パワーポイントのアニメーションについて 4 2023/06/14 16:25
- CAD・DTP Autocad Scriptファイルからの入力とコマンドラインからの入力が違う 1 2023/08/01 09:13
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
パワーポイントのVBAでテキスト...
-
C#でフォームのオブジェクト名...
-
ワイルドカード<?>と型パラメー...
-
VBA 同じ名前のオブジェクトを...
-
VBAのWindowオブジェクトとWork...
-
DirとFSOの違い
-
Accessの連結・非連結オブジェ...
-
Object型からDouble型へのキャスト
-
【ExcelVBA】Webスクレイピング...
-
ビジュアルC++でボタンの有...
-
VBからBATファイルを起動して戻...
-
写真が合成か調べる方法
-
Javaの問題なんですが、(this==...
-
Excelで =EMBED("Acrobat Docu...
-
インラインフレームがときどき...
-
Vbで通常使用するプリンターを...
-
iterator とiterableの関係がわ...
-
エクセルVBAで、条件に一致する...
-
「タイプ初期化子が例外をスロ...
-
Labelコントロールに数字を代入...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
パワーポイントのVBAでテキスト...
-
Excelで =EMBED("Acrobat Docu...
-
EXCEL VBAにて動的にCheckBOXを...
-
VBAのWindowオブジェクトとWork...
-
C#でフォームのオブジェクト名...
-
ワイルドカード<?>と型パラメー...
-
COMコンポーネントって何?
-
戻り値がクラスオブジェクト
-
Object型からDouble型へのキャスト
-
LISTBOXの内容が更新されま...
-
newは明示的にした方が良いのか?
-
JAVAからHTMLへ値を返す方法
-
Accessの連結・非連結オブジェ...
-
ビジュアルC++でボタンの有...
-
error C2712: オブジェクト ア...
-
Visual Studioでのbmpファイル...
-
bmp画像をjpegやpng画像に圧縮...
-
ResultSet での問題
-
C++でのクラスオブジェクトの破棄
-
CoCreateInstanceでエラーになる。
おすすめ情報