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

WBOY
リリース: 2024-07-26 09:34:01
オリジナル
551 人が閲覧しました

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

以上がJava のマスター: クラス、メソッド、継承、カプセル化の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!