・2009年7月 橋本


河原林研究室 >> EcoBe!ダンスGUI >> 2009年7月 橋本

今月の目標 (実際)

  • (blue){(%)};
    • &color(foreground[,background]){text};
  • (%)
    • &color(foreground[,background]){text};
  • (%)
    • &color(foreground[,background]){text};
  • (%)
    • &color(foreground[,background]){text};
  • 英語王決定戦を戦い抜く。(%)
    • &color(foreground[,background]){text};

今週の目標(7/2〜7/8)

  • Java:メンバ変数とメンバメソッド(100%)
    • メンバ変数とは
    • メンバ変数に値を格納する
    • メソッドを使ってメンバ変数を変更する理由
    • publicとprivate
    • メンバメソッドとは
    • 引数だけ異なって名前は同じメソッド
  • (%)

良くガンバています。この調子。

出来た事・分かった事

  • メンバメソッドとは何かわかった。
  • "private"と"public"の違いがわかった。

問題点

2009-7-2(Thu)13:20〜16:00

  • メンバ変数とは<http://www.javadrive.jp/start/member/index1.html>
    • 変数「channelNo」の定義されている部分を含んでいる一番近くの"{"と"}"はクラス定義の"{"と"}"なので、この変数はクラス内であれば自由に使うことが出来る。このような変数をメンバ変数と言う。
      class Television{
        int channelNo; //メンバ変数
      }
  • メンバ変数に値を格納する<http://www.javadrive.jp/start/member/index2.html>
    • 下記の例では、クラスを元にオブジェクトを作成してから、そのオブジェクトを使ってメンバ変数に値を格納している。
      class ctest{
        public static void main(String args[]){
          Television tv1 = new Television();
      
          tv1.channelNo = 1; //オブジェクト名.メンバ変数名 = 値;
        }
      }
      
      class Television{
        int channelNo;
      
        void setChannel(int newChannelNo){
          channelNo = newChannelNo;
        }
      
        void dispChannel(){
          System.out.println("現在のチャンネルは " + channelNo + " です");
        }
      }
  • メソッドを使ってメンバ変数を変更する理由<http://www.javadrive.jp/start/member/index3.html>
    • メンバ変数に格納できる値の事前チェックをしたり、メンバ変数と他のメンバ変数が連動している場合などの処理を行うことが出来るため。

2009-7-3(Fri)13:20〜16:30

  • publicとprivate<http://www.javadrive.jp/start/member/index4.html>
    • private:privateを頭に付けたメンバ変数は、メンバ変数が定義されているクラスの中でしか値を格納したり取り出したりということが出来ない。
    • public:publicが付いている場合は、同じクラス内はもちろん、クラスの外部からでもメンバ変数に値を格納したり参照したりと言ったことが可能。
  • メンバメソッドとは<http://www.javadrive.jp/start/member/index5.html>
    • メンバメソッドとは:クラスの中で定義されているメソッドのこと。そのクラスの中で何かの動作をするためのものである。
    • メンバメソッドにも"private"と"public"を付けることが出来る。
      public void setChannel(int newChannelNo){
          ・・・
      }
      private void dispChannel(){
          ・・・
      }
  • 引数だけ異なって名前は同じメソッド<http://www.javadrive.jp/start/member/index6.html>
    • 同じクラス内で既に定義されている他のメソッド名と同じ名前を付けることは出来ないが、引数が異なる場合は同じ名前のメソッドを同じクラス内で定義することが出来る。

Todo

今週の目標(7/9〜7/15)

  • Java:コンストラクタ(80%)
    • コンストラクタとは
    • 引数があるコンストラクタ
    • 引数が異なるコンストラクタ
    • デフォルトコンストラクタ

出来た事・分かった事

  • コンストラクタとはどういったものか分かった。

問題点


2009-7-9(Thu)13:20〜16:00

  • コンストラクタとは<http://www.javadrive.jp/start/constructor/index1.html>
    • コンストラクタ:クラスからオブジェクトを作成した際に、自動的に実行されるメソッドのこと。メンバ変数の初期化などを主に行う
  • 引数があるコンストラクタ<http://www.javadrive.jp/start/constructor/index2.html>
    • コンストラクタにはメソッドと同じように引数を指定することが出来る。
      クラス名 オブジェクト名 = new クラス名(引数);
  • 引数が異なるコンストラクタ<http://www.javadrive.jp/start/constructor/index3.html>
    • 引数の数や型が異なるものであれば、1つのクラスの中に複数のコンストラクタを記述できる。
    • コンストラクタの中から他のコンストラクタを呼び出す場合には、thisを使って「this(引数)」の形で呼び出す。
      クラス名(){
        this(引数);
      }

2009-7-10(Fri)13:20〜00:00

  • 講演会

Todo

今週の目標(7/16〜7/22)

  • Java:コンストラクタ(%)
    • デフォルトコンストラクタ
  • Java:クラスの継承(%)
    • クラスの継承とは
    • スーパークラスのメンバへのアクセス
    • 継承時のアクセス制御
    • スーパークラスのコンストラクタ
    • メソッドのオーバーライド
    • スーパークラスの変数を使う

出来た事・分かった事


問題点

2009-7-16(Thu)13:20〜16:30

  • デフォルトコンストラクタ<http://www.javadrive.jp/start/constructor/index4.html>
    • コンストラクタを1つも定義していない場合、自動的にデフォルトコンストラクタと呼ばれるコンストラクタが作成される。(引数無しで中身が空。)
    • コンストラクタを1つでも明記した場合は、デフォルトコンストラクタは作成されない。
    • 引数無しのコンストラクタを記述したのであれば問題無いが、引数無しのコンストラクタを定義せず、
      引数があるコンストラクタだけ記述した場合にもデフォルトのコンストラクタは作成されない。
  • クラスの継承とは<http://www.javadrive.jp/start/extends/index1.html>
    • 基本的な設計部分は共通させて、異なる部分だけ追加してゆくこと。(基本となるクラスをスーパークラスという。)
    • クラスの継承は一度に1つしか出来ない。
    • クラス定義をを行う際に「extends」の後に継承したいスーパークラス名を記述する。
      class subclass_name extends superclass_name{
      
      }
  • スーパークラスのメンバへのアクセス<http://www.javadrive.jp/start/extends/index2.html>
    • あるクラスを継承したクラスは、自分自身で定義されたものの他に、
      継承したスーパークラスのメソッドを実行したりメンバ変数を参照することが可能である。
      class ctest11{
        public static void main(String args[]){
          Soarer soarer = new Soarer();
      
          soarer.openRoof(); //openRoof()はSoarerクラス名で定義されたメソッド
          if (soarer.roofOpenFlag){
            System.out.println("・・・");
          }else{
            System.out.println("・・・");
          }
      
          soarer.accele(); //accele()はCarクラスのメソッド
          System.out.println("・・・");
        }
      }

2009-7-17(Fri)13:20〜16:00

  • 継承時のアクセス制御<http://www.javadrive.jp/start/extends/index3.html>
    • スーパークラスのメンバ変数やメソッドに「private」を付けた場合、
      そのスーパークラスを継承したサブクラスからは呼び出しができない。
    • 「protected」は異なるパッケージからは「private」と同等。
      修飾子サブクラスからスーパークラスのメンバへアクセス
      private出来ない
      public出来る
      protected出来る(継承されたサブクラス内からアクセスされるメンバに対して付ける)
  • スーパークラスのコンストラクタ<http://www.javadrive.jp/start/extends/index4.html>
    • クラスBがクラスAを継承し、クラスCがクラスBを継承している場合、
      大元のクラスのコンストラクタから順に呼ばれていく。
    • 下記のプログラムの場合、表示画面には「B」と表示される。
      class test{
        public static void main(String args[]){
          B sample = new B();
        }
      }
      
      class A{
        A(){ //引数を定義していない。
          System.out.println("A");
        }
      
        A(int num){ //引数を定義しいる。
          System.out.println("B");
        }
      }
      
      class B extends A{
        B(){
          super(10); //引数があるほうを呼び出す。
          System.out.println("B");
        }
      }

Todo

今週の目標(7/23〜7/29)

  • テスト期間

今週の目標(7/29〜8/5)

  • テスト期間

2009-8-10(Mon)13:20〜18:00

  • メソッドのオーバーライド<http://www.javadrive.jp/start/extends/index5.html>
    • オーバーライト:クラスを継承した時にスーパークラスで定義されているメソッドを継承したサブクラスにて同じメソッド名(と同じ引数)で書き換えること(上書き)。
    • Aで定義されたdispメソッドに、Bで定義されたdispメソッドをオーバーライトする。
class A{
 public void disp(){
  System.out.println("あいうえお");
 }
}
class B extends A{
 public void disp(){
  System.out.println("かきくけこ");
  super.disp();
 }
}
  • JavaFXのDragAndDrop?プログラムをいじってみる。
    • ボールを2つ出せた。