ホームページ >Java >&#&チュートリアル >クラスとオブジェクトのマスター: 初心者向けのステップバイステップ

クラスとオブジェクトのマスター: 初心者向けのステップバイステップ

Patricia Arquette
Patricia Arquetteオリジナル
2025-01-04 11:15:35216ブラウズ

Mastering Classes and Objects: Step-by-Step for Beginners

クラスとオブジェクトの概要

プログラミングにおいて、クラスは設計図のようなものであり、オブジェクトはその設計図から建てられる家のようなものです。クラスは、オブジェクトの構造と動作を定義する計画であると考えてください。一方、オブジェクトは、メモリ内に存在するクラスの特定のインスタンスです。クラスとオブジェクトを使用すると、コードを効果的に整理して再利用できます。

例:

class Car {
    String color;
    String model;
    void start() {
        System.out.println("Car is starting");
    }
}

public class Main {
    public static void main(String[] args) {
        Car myCar = new Car(); // Object created
        myCar.color = "Red";
        myCar.start();
    }
}

ここで、Car _class はブループリントであり、_myCar はそのブループリントから作成されたオブジェクトです。


クラスのコンポーネント

クラスは複数のコンポーネントで構成されます。それらを詳しく見てみましょう:

クラス名

クラス名はクラスを識別するために使用されます。
という名前の後に続く必要があります 規則:

  • 大文字で始めてください。
  • キャメルケースを使用します (例: Car、StudentDetails)。
  • 頭字語や略語は避けてください。

属性 (フィールド)

属性は、オブジェクトのプロパティを表すクラス内の変数です。

class Car {
    String color; // Attribute
    String model; // Attribute
}

メソッド

メソッドは、オブジェクトの動作を定義するクラス内の関数です。たとえば、次のメソッドで車を始動させることができます。

void start() {
    System.out.println("Car is starting");
}

戻り値の型
メソッドは値 (int、long、string など) を返すことができます。 void キーワード は、メソッドが何も返さない場合に使用されます。

void displayInfo() {
    System.out.println("This is a car.");
}

アクセス修飾子
アクセス修飾子は、クラス メンバーの可視性を制御します。詳細については、アクセス修飾子に関する私のブログをご覧ください。

コンストラクター
コンストラクターは、オブジェクトを初期化するために使用される特別なメソッドです。詳細については、これをお読みください。


オブジェクトのコンポーネント

オブジェクトには 3 つの主要コンポーネントがあります:

  • 状態

オブジェクトの状態はその属性によって定義されます。たとえば、車の色とモデルはその状態を定義します。

  • 行動

オブジェクトの動作は、そのメソッドによって定義されます。たとえば、車の始動と停止は動作です。

  • アイデンティティ

各オブジェクトには一意の ID があり、これはシステム内の参照アドレスまたはメモリ アドレスです。

例:

class Car {
    String color;
    void displayInfo() {
        System.out.println("Car color: " + color);
    }
}

public class Main {
    public static void main(String[] args) {
        Car myCar = new Car();
        myCar.color = "Blue"; // State
        myCar.displayInfo(); // Behavior
    }
}

クラスの特別なコンポーネント

  • 静的フィールドとメソッド

静的フィールドとメソッドは、特定のオブジェクトではなくクラスに属します。例:

class MathUtils {
    static int square(int x) {
        return x * x;
    }
}

使用法:

int result = MathUtils.square(5); // No object needed

簡単に言うと、クラスで静的メソッドを使用するためにオブジェクトを初期化する必要はないということです。

  • 最終クラスと変数

final キーワードは、変数を定数にする、メソッドのオーバーライドを防ぐ、または継承を制限するために使用されます。このキーワードは 3 つのコンテキストで使用できます:

  • 最終変数 =>定常接触変数を作成します。
  • 最終メソッド =>メソッドのオーバーロードを防ぐため。
  • 最終クラス =>相続を防ぎます。
class Car {
    String color;
    String model;
    void start() {
        System.out.println("Car is starting");
    }
}

public class Main {
    public static void main(String[] args) {
        Car myCar = new Car(); // Object created
        myCar.color = "Red";
        myCar.start();
    }
}

上級クラスの概念

オブジェクトクラス

Java のオブジェクト クラスは java.lang パッケージに存在します。 Java のすべてのクラスは、直接的または間接的に Object クラスから派生します。クラスが他のクラスを拡張しない場合、そのクラスは Java オブジェクト クラスの直接の子クラスであり、別のクラスを拡張する場合、そのクラスは間接的に派生します。次のような便利なメソッドが提供されます:

  • toString(): オブジェクトを文字列に変換します。

  • equals(): 2 つのオブジェクトが等しいかどうかを確認します。

ビルダークラス

ビルダー クラスは、特にオブジェクトに多くの属性がある場合に、オブジェクトを段階的に作成するのに役立ちます。

class Car {
    String color; // Attribute
    String model; // Attribute
}

使用法:

void start() {
    System.out.println("Car is starting");
}

シングルトンクラス
シングルトン クラスでは、プログラムの実行中にクラスのインスタンスが 1 つだけ作成されることが保証されます。これは、構成マネージャーやデータベース接続などの単一の共有リソースが必要な場合によく使用されます。

シングルトン クラスを作成する主な手順は次のとおりです。

他のクラスがコンストラクターをインスタンス化できないように、コンストラクターをプライベートにします。
インスタンスへのアクセスを提供する静的メソッドを作成します。
静的フィールドを使用して、クラスの単一インスタンスを保持します。

例:

void displayInfo() {
    System.out.println("This is a car.");
}

説明:
コンストラクターはプライベートであるため、new.
を使用して Singleton クラスのオブジェクトを作成することはできません。 getInstance() メソッドは、インスタンスが null かどうかをチェックします。存在する場合、新しいインスタンスが作成されます。それ以外の場合は、既存のインスタンスが返されます。
これにより、getInstance() が何回呼び出されても、作成されるオブジェクトは 1 つだけになります。


内蔵パッケージ

パッケージは、関連するクラスをグループ化します。 Java の一般的な組み込みパッケージには次のものがあります。

  • java.util: ArrayList、HashMap などのユーティリティ クラスが含まれます。

  • java.io: 入力および出力操作のためのクラスを提供します。

  • java.lang: String、Math などのコア クラスが含まれます。

例:

class Car {
    String color;
    void displayInfo() {
        System.out.println("Car color: " + color);
    }
}

public class Main {
    public static void main(String[] args) {
        Car myCar = new Car();
        myCar.color = "Blue"; // State
        myCar.displayInfo(); // Behavior
    }
}

クラスとオブジェクトの実際のアプリケーション

学生管理: 名前、年齢などの属性と、enroll()などのメソッドを備えた学生クラス。

銀行システム: 残高などの属性と、deposit()、withdraw()などのメソッドを持つBankAccountクラス。


結論

クラスとオブジェクトは、オブジェクト指向プログラミングの基本的な構成要素です。これらは、コードを整理し、再利用可能にし、ソフトウェア内で現実世界のエンティティを表現するのに役立ちます。コンポーネントを理解し、小規模なプロジェクトで練習することで、オブジェクト指向プログラミングを習得するための強力な基盤を築くことができます。コーディングを楽しんでください!

以上がクラスとオブジェクトのマスター: 初心者向けのステップバイステップの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。