[JavaとSpringBootからのWebプログラミング]2週目学習-3(オブジェクト間連携、静的変数、メソッド)


この役割

  • は、自分のメモリ
  • を指す.
  • ジェネレータは、他のジェネレータ
  • を呼び出す.
  • インスタンスは、自身のアドレス
  • を返す.

    コンストラクション関数から別のコンストラクション関数を呼び出す

  • ジェネレータでは、他のジェネレータを呼び出すことができます.
    EX)
  • public class Person {
      private int name;
      private int age;
      
      public Person() {
        this("이름 없음",1);
      }
      
      public Person(String name, int age) {
        this.name = name;
        this.age = age;
      }
    
    }

    自分の住所のthisを返します


    EX)
    public Person getPerson() {
      return this;
    }

    オブジェクト間のコラボレーション

  • オブジェクト向けプログラムオブジェクトを定義し、オブジェクト間のコラボレーションを実現
  • 学生が地下鉄やバスで学校に通う過程で生まれた協力.
  • 例1)エドワードは遅く起きて、学校に遅刻した.タクシーで10000元払った.この状況をコードに追加してください.
    Student student = new Student("Edward",1,20000);
    Vehicle taxi = new Taxi(100);
    int DISTANCE_FROM_SCHOOL = 100;
    
    student.takeVehicle(taxi,DISTANCE_FROM_SCHOOL);
    
    System.out.println("남은 돈:" + student.getMoney());
    例2)朝出勤する途中、金ジュリーは4000ウォンをかけて星茶屋でアメリカンコーヒーを買って飲んだ.
    李疲労さんは豆茶屋で4500元払ってラテを飲んだ.コードで実装してください
    Person kim = new Person("김","졸려",10000);
    Person lee = new Person("이","피곤",15000);
    CoffeeShop starShop = new CoffeeShop("별다방");
    CoffeeShop beanShop = new CoffeShop("콩다방");
    
    kim.buyCoffee(startShop,"americano");
    lee.buyCoffee(beanShop,"latte");
    
    System.out.println("김졸려의 남은 돈:" + kim.getMoney());
    System.out.println("이피곤의 남은 돈:" + lee.getMoney());

    せいてきへんすう

  • 複数のインスタンスは、1つの値
  • を共有する必要がある.
  • 静的変数は、プログラムの最初のロード時にデータ領域に作成する
  • である.
  • インスタンスの作成に使用できます.クラス名
  • を参照してください.
  • クラス変数で、静的変数
  • とも呼ばれる.
    class A {
       pulblic static int num = 0;
       
       public static void plusNum() {
         num++;
       }
    }

    スタティツクメソッド

  • 静的方法
  • 静的変数の機能を提供する
  • 静的メソッドでは、インスタンス変数
  • はサポートされていません.
  • クラス名参照の方法
  • 類の方法で、静的方法
  • とも呼ばれる.
    class B {
       pulblic static int num = 0;
       
       public static void plusNum() {
         num++;
       }
    }