学びやすいJava 2-JAVAオブジェクト向けプログラミング


オブジェクト向けプログラミング

  • プログラム化プログラミング:方法を中心にプログラムを記述するプログラミング
  • 代表的なc言語.
  • オブジェクト向けプログラミング:
  • クラス作成プログラムの構造、例えば関連変数やメソッドを収集する収納ボックス
  • オブジェクト向け言語:言語面でこの方式をサポートするプログラミング言語
  • カテゴリ

  • クラスには、関連する変数とメソッドが含まれます.
  • クラスのタイプ

  • クラスは1つのファイルに複数配置できますが、アクセス制御者publicは同じ名前のクラスに1つしか追加できません.
  • ソースコードをコンパイルすると、含まれるクラスはそれぞれクラスファイルとして作成されます.
  • クリップからクラスを抽出

  • 以前の章でこのクリップ抽出手法を用いたように,分類してもよい.
  • 領域->右クリック->Refactor->移動タイプto New Filesを選択...それでいいです.
  • クラスとインスタンス

  • クラスは、テンプレートで印刷されたエンティティと同じインスタンスを持つ任意のテンプレートです.
  • クラスを変更するとインスタンスに影響しますが、インスタンスは他のインスタンスに影響しません.
  • public class OthersOOP {
     
        public static void main(String[] args) throws IOException {
            System.out.println(Math.PI);
            System.out.println(Math.floor(1.8));
            System.out.println(Math.ceil(1.8));
             
            FileWriter f1 = new FileWriter("data.txt");
            f1.write("Hello");
            f1.write(" Java");
             
             
            FileWriter f2 = new FileWriter("data2.txt");
            f2.write("Hello");
            f2.write(" Java2");
            f2.close();
             
            f1.write("!!!");
            f1.close();
        }
    }
  • では、クラスはSystem、Math、FileWriter、インスタンスはf 1、f 2である.
  • 静的変数とメソッド

  • 静的変数/メソッドは、クラスで作成されたすべてのインスタンスによって共有されます.
  • 静的変数/メソッドは、インスタンスを作成しなくてもクラスから直接呼び出すことができます.
  • 非静的変数/メソッドは、クラスから直接アクセスできません.インスタンスの作成のみがアクセスできます.
  • したがって、
  • は、静的方法では静的変数/方法を使用できないのではなく、静的方法では変数/方法を使用することができる.
  • ジェネレータとthis


    生成者

  • クラスは、インスタンスの作成時にクラス名と同じコンストラクション関数を使用してインスタンスを作成します.
  • ジェネレータを別途作成しない場合は、デフォルトジェネレータが自動的に含まれます.Foo foo = new Foo() // 기본 생성자
  • インスタンスの生成時にフィールドを一緒に初期化する場合は、ジェネレータにパラメータを設定します.
  • ジェネレータは、アクセス権を設定できます.
  • 戻りタイプは明記されていません.
  • this

  • ジェネレータもクラス内のメソッドであり、初期化するフィールドをパラメータとして使用するため、通常はパラメータ名とフィールド名が重複する.
  • このオプションを使用すると、重複する問題を解決できます.
  • この例の予約語を指す.
  • class Print {
    	public String delimiter = "";
        public Print() {}
    	public Print(String delimiter) {
    		this.delimiter = delimiter; // this를 사용하여 인스터스 필드를 가리켰다.
    	}
        
    public class MyOOP {
        public static void main(String[] args) {
            Print p1 = new Print("----"); 
            Print p2 = new Print(); // 기본 생성자로 인스턴스 생성
        }
    }