2 Account customer new Account customer set Namename

  • Slides: 30
Download presentation

銀行口座の オブジェク ト生成 以下の 2つのコードは兄弟クラ ス間のクローンである 顧客名のセ ット : Account customer = new Account();

銀行口座の オブジェク ト生成 以下の 2つのコードは兄弟クラ ス間のクローンである 顧客名のセ ット : Account customer = new Account(); customer. set. Name(name); customer. set. Number( number); customer. set. Rate 顧客番号の セット (ORDINARY_RATE); : : 差異 9 顧客名のセ ット : Account customer = new Account(); customer. set. Name(name); customer. set. Number( number); customer. set. Rate ( 顧客番号の FIXED_RATE); セット : :

手順1 -1: メソッドの宣言,コンパイル : Account customer = new Account(); customer. set. Name(name); customer. set.

手順1 -1: メソッドの宣言,コンパイル : Account customer = new Account(); customer. set. Name(name); customer. set. Number( number); customer. set. Rate () = (ORDINARY_RATE; : : 11 : 親クラス Account customer = に処理を new Account(); 記述する customer. set. Name(name); customer. set. Number( number); customer. set. Rate () = FIXED_RATE); : :

手順1 -1: メソッドの宣言,コンパイル メソッドの名 : 前はメソッド : Account customer = の役割,処理 Account customer =

手順1 -1: メソッドの宣言,コンパイル メソッドの名 : 前はメソッド : Account customer = の役割,処理 Account customer = new Account(); void initial. Account(){ の内容から決 new Account(); customer. set. Name(name); める customer. set. Name(name); customer. set. Number( number); } number); customer. set. Rate () = FIXED_RATE); (ORDINARY_RATE; : : 12

手順1 -2: クローン部の引き上げ : : Account customer = new Account(); void initial. Account(){ new

手順1 -2: クローン部の引き上げ : : Account customer = new Account(); void initial. Account(){ new Account(); customer. set. Name(name); customer. set. Number( number); } number); customer. set. Rate () = FIXED_RATE); (ORDINARY_RATE; : : 14

手順1 -2: クローン部の引き上げ void initial. Account(){ : : Account customer = new Account(); customer.

手順1 -2: クローン部の引き上げ void initial. Account(){ : : Account customer = new Account(); customer. set. Name(name); customer. set. Number( number); customer. set. Rate () = customer. set. Rate (ORDINARY_RATE); () = FIXED_RATE); (ORDINARY_RATE; } : : コピー&ペース ト 15

手順1 -3: クローン部の差異以外の変数,オブジェ クトの引数を用意する void initial. Account(){ : : Account customer = new Account();

手順1 -3: クローン部の差異以外の変数,オブジェ クトの引数を用意する void initial. Account(){ : : Account customer = new Account(); customer. set. Name(name); customer. set. Number( number); customer. set. Rate () = customer. set. Rate (ORDINARY_RATE); () = FIXED_RATE); (ORDINARY_RATE; } : : 17

手順1 -3: クローン部の差異以外の変数,オブジェ クトの引数を用意する void initial. Account( : String name, int number){ : customer

手順1 -3: クローン部の差異以外の変数,オブジェ クトの引数を用意する void initial. Account( : String name, int number){ : customer = Account customer. Account = new Account(); 変数の名前 customer. set. Name(name); をそのまま, customer. set. Number( number); 引数に宣言 number); customer. set. Rateする () = customer. set. Rate () = FIXED_RATE); (ORDINARY_RATE); (ORDINARY_RATE; : } : : : 18

手順1 -4: 戻り値があるならオブジェクトのreturnを 追加し,メソッドの型を戻り値の型にする void initial. Account( : String name, int number){ : customer

手順1 -4: 戻り値があるならオブジェクトのreturnを 追加し,メソッドの型を戻り値の型にする void initial. Account( : String name, int number){ : customer = Account customer. Account = new Account(); customer. set. Name(name); customer. set. Number( number); customer. set. Rate () = FIXED_RATE); (ORDINARY_RATE); (ORDINARY_RATE; : } : : : 20

手順1 -4: 戻り値があるならオブジェクトのreturnを 追加し,メソッドの型を戻り値の型にする Account initial. Account( String name, int number){ : : Account

手順1 -4: 戻り値があるならオブジェクトのreturnを 追加し,メソッドの型を戻り値の型にする Account initial. Account( String name, int number){ : : Account customer = new Account(); customer. set. Name(name); customer. set. Number( number); customer. set. Rate () = customer. set. Rate (ORDINARY_RATE); () = FIXED_RATE); (ORDINARY_RATE; return customer; : : } : : 戻り値がないときにはこの 手順での操作はない 21

手順1 -5: 差異のための引数を作成し,差異を引数 で置き換える Account initial. Account( String name, int number){ : : Account

手順1 -5: 差異のための引数を作成し,差異を引数 で置き換える Account initial. Account( String name, int number){ : : Account customer = new Account(); customer. set. Name(name); customer. set. Number( number); customer. set. Rate () = customer. set. Rate (ORDINARY_RATE); () = FIXED_RATE); (ORDINARY_RATE; return customer; : : } : : 23

手順1 -5: 差異のための引数を作成し,差異を引数 で置き換える Account initial. Account( String name, int number : : ,

手順1 -5: 差異のための引数を作成し,差異を引数 で置き換える Account initial. Account( String name, int number : : , int rate){ Account customer = Account customer. Account = customer = new Account(); 共通部分を名前 customer. set. Name(name); にしている customer. set. Name(name); customer. set. Number( number); customer. set. Rate () = (rate); FIXED_RATE); (ORDINARY_RATE; return customer; : : } : : 手順1 -6: 親クラスをコンパイルして, テストする 24

手順2: 元の子クラスのクローン部を取り除き,メ ソッド呼び出しを追加する : Account customer = initial. Account(name, number, ORDINARY_RATE ); : :

手順2: 元の子クラスのクローン部を取り除き,メ ソッド呼び出しを追加する : Account customer = initial. Account(name, number, ORDINARY_RATE ); : : : Account customer= initial. Account(name, number, FIXED_RATE ); : : 各クラスをコンパイルして,テストする 26