0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

なにもわからないAdvent Calendar 2024

Day 8

クラス、構造体、タプル、Enumの使いどころ

Posted at

はじめに

クラスだけではなく、構造体やタプル、Enumなどのデータの扱い方法を知ることで、より効率的なコードを書けることにつながります。本記事ではそれぞれの使いどころを紹介します。

クラス

特徴

  • 参照型
  • 複雑なデータ構造や状態の管理に適している
  • 継承やポリモーフィズム
  • メソッドやプロパティを持ち、初期化処理(コンストラクタ)が可能

使いどころ

  • オブジェクト指向設計に基づいたモデルを作成する場合
  • 例えば、 ユーザー情報、商品のデータ、自動車の振る舞い を表現する場合

構造体

特徴

  • 値型
  • 軽量なデータ構造を表現するのに向いている
  • メソッドを持つこともできる
  • 継承はできないが、インターフェースは実装可能

使いどころ

  • データのサイズが小さく、複雑な操作が不要な場合
  • 例えば、座標(Point)、サイズ(Size)、色(Color) を表現する場合

タプル

特徴

  • 複数の値を簡単にまとめて扱えるので、一時的なデータの受け渡しに使える
  • 名前付きタプルを使用すると、データの意味が分かりやすくなる
  • メソッドやロジックを持てない

使いどころ

  • 関数から複数の値を返したい場合や、一時的に関連するデータをまとめたい場合
  • 例えば、 計算結果やDBから取得 した簡易データを返す場合に利用します。

Enum

特徴

  • 列挙可能な値の集合を定義
  • 限定された選択肢(設定値や状態)を表現するのに便利
  • 値にはデフォルトで整数が割り当てられるが、任意の値を設定可能

使いどころ

  • 特定の選択肢や状態を表現したい場合
  • 例えば、 方向(北・南・東・西)や曜日、ユーザーの権限レベル を表現する場合に利用します

おわりに

クラス、構造体、タプル、Enumのいずれもデータを表現するために重要です。
それぞれの特徴を理解し、用途に応じて使い分けることで、効率的で分かりやすいコードを書くことができます。
あなたの使い方に合った選択をしてください!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?