クラスを作成しフィールドを定義する

http://d.hatena.ne.jp/ryamada/20050521/1116661994にて、作成したいクラスについて書いた。これに沿って進む。

この記事はhttp://d.hatena.ne.jp/bioinformatics/20050601に対応する。

      • -

Chromosome.javaというソースファイル(末尾に表示)は、"Chromosome"というクラスのフィールドを定義するとともに、"UseChromosome"というメソッドクラスを定義している。

いま、このソースChromosome.javaコンパイルしてやる
C:\aokijava>javac Chromosome.java

そうすると"Chromosome.class"と"UseChromosome.class"の2ファイルが作成された。

ついで、UseChromosome.classをjavaで実行してやると
C:\aokijava>java UseChromosome

のように、Chromosome.javaのソースに明示的に記載した、Chromosomeオブジェクトに与えた、フィールドに与えた情報から、

*******第2染色体の祖先染色体は*****
第1染色体です
*******第3染色体の祖先染色体は*****
第1染色体と第2染色体とです
第3は5  10にて組換えがおきてできた組換え体です

のように表示がされた。

Chromosome.javaのソースは以下の通り。

//Profile クラスの定義
class Chromosome {
//フィールドの定義
String pId; //ID
String pCategory; //カテゴリ('a' or 'b')
String pAncestor1; //第1アンセスター。5'端を持つアンセスター染色体
String pAncestor2; //第2アンセスター。組換え体の場合に、第2のアンセスター
String pForm1; //第1アンセスター染色体が父由来('p'か母由来('m')か
String pForm2; //第2アンセスター染色体が父由来('p'か母由来('m')か
String pRecpoints; //組換え発生点('5\t10\t40'は、5-6,10-11,40-41にて組換えがおきた結果、この染色体が出来上がったことを意味する
}

//テスト用クラスの作成
class UseChromosome {



public static void main(String args[]){

//Chromosomeクラスのインスタンスを作成
Chromosome myChrom1 = new Chromosome();

//Chromosomeクラスのフィールドに値を代入
myChrom1.pId="1";
myChrom1.pCategory="a";
myChrom1.pAncestor1="";
myChrom1.pAncestor2="";
myChrom1.pForm1="";
myChrom1.pForm2="";
myChrom1.pRecpoints="";

//Chromosomeクラスのインスタンスを作成
Chromosome myChrom2 = new Chromosome();

//Chromosomeクラスのフィールドに値を代入
myChrom2.pId="2";
myChrom2.pCategory="b";
myChrom2.pAncestor1="1";
myChrom2.pAncestor2="";
myChrom2.pForm1="";
myChrom2.pForm2="";
myChrom2.pRecpoints="";

//Chromosomeクラスのインスタンスを作成
Chromosome myChrom3 = new Chromosome();

//Chromosomeクラスのフィールドに値を代入
myChrom3.pId="3";
myChrom3.pCategory="b";
myChrom3.pAncestor1="1";
myChrom3.pAncestor2="2";
myChrom3.pForm1="f";
myChrom3.pForm2="m";
myChrom3.pRecpoints="5\t10";

//各フィールドの値をコンソール上に表示
System.out.println("*******第" + myChrom2.pId + "染色体の祖先染色体は*****");
System.out.println("第" + myChrom1.pId + "染色体です");

System.out.println("*******第" + myChrom3.pId + "染色体の祖先染色体は*****");
System.out.println("第" + myChrom1.pId + "染色体と" + "第" + myChrom2.pId + "染色体とです");
System.out.println("第" + myChrom3.pId + "は" + myChrom3.pRecpoints + "にて組換えがおきてできた組換え体です");

}
}