「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > Java のマスター: クラス、メソッド、継承、カプセル化

Java のマスター: クラス、メソッド、継承、カプセル化

2024 年 7 月 31 日に公開
ブラウズ:616

Mastering Java: Classes, Methods, Inheritance, and Encapsulation

Java は、堅牢なアプリケーションの構築に広く使用されている多用途で強力なプログラミング言語です。この記事では、Java の基本概念であるクラス、メソッド、継承、カプセル化について詳しく説明します。これらの概念は Java のオブジェクト指向プログラミング (OOP) のバックボーンを形成しており、効率的で保守可能なコードを作成するために不可欠です。

Java のクラス
Java では、クラスはオブジェクトを作成するための設計図です。データとそのデータを処理するメソッドを 1 つのユニットにバンドルすることでデータ型を定義します。 Java のクラスの基本的な例を次に示します:

public class Animal {
    // Fields
    private String name;
    private int age;

    // Constructor
    public Animal(String name, int age) {
        this.name = name;
        this.age = age;
    }

    // Method
    public void displayInfo() {
        System.out.println("Name: "   name   ", Age: "   age);
    }
}

この例では:

Animal は、名前と年齢という 2 つのフィールドを持つクラスです。
コンストラクター Animal(String name, int age) はこれらのフィールドを初期化します。
displayInfo メソッドは、動物の名前と年齢を出力します。
Java のメソッド
メソッドは、クラス内で定義され、そのクラスから作成されたオブジェクトの動作を記述する関数です。メソッドはパラメータを受け取り、アクションを実行し、値を返すことができます。

Animal クラスにメソッドを追加する方法は次のとおりです:

public class Animal {
    private String name;
    private int age;

    public Animal(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public void displayInfo() {
        System.out.println("Name: "   name   ", Age: "   age);
    }

    // New method to change the age
    public void setAge(int newAge) {
        age = newAge;
    }

    // New method to retrieve the age
    public int getAge() {
        return age;
    }
}

この変更されたクラス内:

setAge メソッドを使用すると、動物の年齢を変更できます。
getAge メソッドは、動物の現在の年齢を返します。
Java の継承
継承は、新しいクラスが既存のクラスからプロパティと動作 (フィールドとメソッド) を継承するメカニズムです。継承するクラスをサブクラス(または派生クラス)といい、継承元のクラスをスーパークラス(または基本クラス)といいます。

継承の例を次に示します:

// Superclass
public class Animal {
    private String name;
    private int age;

    public Animal(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public void displayInfo() {
        System.out.println("Name: "   name   ", Age: "   age);
    }
}

// Subclass
public class Dog extends Animal {
    private String breed;

    public Dog(String name, int age, String breed) {
        super(name, age);
        this.breed = breed;
    }

    public void displayBreed() {
        System.out.println("Breed: "   breed);
    }
}

この例では:

Animal は、フィールド name と age およびメソッド displayInfo を持つスーパークラスです。
Dog は、Animal を拡張し、新しいフィールド Breed とメソッド displayBreed を追加するサブクラスです。
Dog コンストラクターの super(name, age) 呼び出しは、スーパークラス Animal.
のコンストラクターを呼び出します。 Java でのカプセル化
カプセル化とは、データを 1 つの単位にまとめることです。これは、コードとコードが操作するデータを結び付けるメカニズムです。カプセル化を実現する 1 つの方法は、クラスのフィールドをプライベートにし、フィールドの値を変更および表示するパブリックのゲッター メソッドとセッター メソッドを提供することです。

Animal クラスをカプセル化する方法は次のとおりです:

public class Animal {
    // Private fields
    private String name;
    private int age;

    // Constructor
    public Animal(String name, int age) {
        this.name = name;
        this.age = age;
    }

    // Getter method for name
    public String getName() {
        return name;
    }

    // Setter method for name
    public void setName(String name) {
        this.name = name;
    }

    // Getter method for age
    public int getAge() {
        return age;
    }

    // Setter method for age
    public void setAge(int age) {
        this.age = age;
    }

    // Method to display information
    public void displayInfo() {
        System.out.println("Name: "   name   ", Age: "   age);
    }
}

このカプセル化されたクラス内:

フィールド名と年齢は非公開です。
これらのフィールドにアクセスして変更するために、パブリックの getter メソッドと setter メソッドが提供されています。
これにより、クラスの外部からフィールドに直接アクセスできなくなり、オブジェクトのデータの整合性が保護されます。

クラス、メソッド、継承、カプセル化を理解することは、Java およびオブジェクト指向プログラミングを習得するために重要です。これらの概念を使用すると、モジュール化され、再利用可能で保守可能なコードを作成できます。これらの例を試し、独自のクラスとメソッドを構築し、継承とカプセル化を活用して堅牢なアプリケーションを設計してください。コーディングを楽しんでください!

リリースステートメント この記事は次の場所に転載されています: https://dev.to/shahtanya/mastering-java-classes-methods-inheritance-and-encapsulation-44c0?1 侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3