--/--/-- (--) スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

スポンサー広告 |


2011/05/28 (Sat) JAVA 9日目 復習用(._.)φ

prog09.jpg

実行結果

身長を172に、体重を69.2にしました。
身長を調べました。
体重を調べました。
サンプルから身体データを調べたところ
身長は172cm、体重は69.2kgでした。

◆クラス
◆クラスを宣言する
◆オブジェクト(インスタンス)の作成
◆メンバにアクセスする
◆クラスの利用方法
◆複数のオブジェクトを作成する
◆メソッドの定義
◆メソッドを呼び出す
◆メソッドの引数
◆変数の値を渡して呼び出す
◆複数の引数をもつメソッド
◆戻り値
◆戻り値のないメソッド

クラスの基本

◆クラス

Javaの特徴である「オブジェクト指向」の中核。
効率よくプログラムを作成していくための仕組み。

【クラス】
オブジェクト指向のプログラミング言語で、個々のオブジェクトに共通する性質を定義したもの。オブジェクトを作成する際に、オブジェクトのテンプレートであるクラスを基にすることで、似た性質のオブジェクトを多数作成する場合でも、似通ったコードを繰り返し記述する必要がなくなる。一度作成したクラスをほかのプログラムで再利用できるほか、新しいクラスを作成する際に既存のクラスを基にすることで、ソフトウェア開発が容易になる。
(『日経パソコン用語辞典2009』日経BP社)

class Sample
{
・・・
}

このように先頭に「class」のついたブロックで囲まれた部分をクラスという。
あるモノの性質やそれに関する機能をまとめながらプログラムを作成するための概念。

イメージ図

class 料理
{
 予算; //フィールド
 分量; //同
 予算を決める; //メソッド
 分量を決める; //同
 予算と分量を表示する; //同
}

class クラス名
{ 
型名 フィールド名;
・・・
戻り値の型 メソッド名(引数リスト)
{
文;
・・・
return 式;

}
・・・
}

クラスの性質をあらわす仕組みをフィールドといい、コード上では変数を使ってあらわす。
クラスの機能をあらわす仕組みをメソッドという。
「クラス」は「フィールド」(変数)と「メソッド」を「メンバ」としてもつ。

◆クラスを宣言する

class Cooking
{
int budget; //予算
int quant; //分量
}

Cookingクラスのフィールド
budget
quant

※フィールドは変数を使う。

◆オブジェクト(インスタンス)の作成

クラスがレシピ、
オブジェクト(インスタンス)が実際の料理というイメージ。

①クラス名(型)を使ってオブジェクトを扱う変数を宣言する
②オブジェクトを作成してその変数で扱えるようにする


クラス名 変数名;
変数名 = new クラス名();

Cooking cook1;
cook1 = new Cooking();

ひとつの文にまとめて書く場合、

クラス名 変数名 = new クラス名();
Cooking cook1 = new Cooking();

※配列型の変数同様クラス型の変数は「参照型の変数」である。

◆メンバにアクセスする

変数名.フィールド(変数)名

cook1.budget //予算をあらわす
cook1.quant //分量をあらわす

◆クラスの利用方法

①クラスを宣言
②オブジェクトの作成
③メンバにアクセス


//料理

class Cooking
{
int budget;
double quant;
}

class Sample
{
public static void main(String[] args)
{
Cooking cook1;
cook1 = new Cooking();

cook1.budget = 6980;
cook1.quant = 20.5;

System.out.println("料理の予算は"+cook1.budget+"円です。");
System.out.println("分量は"+cook1.quant+"kgです。");
}
}

※この場合コンパイルすると2つのクラスファイルが出来ることになる。

◆複数のオブジェクトを作成する

上のサンプルの場合、

Cooking cook1;
cook1 = new Cooking();
cook1.budget = 6980;
cook1.quant = 20.5;

Cooking cook2;
cook2 = new Cooking();
cook2.budget = 5712;
cook2.quant = 45.4;

・・・

このようにオブジェクトはいくつでも作成することが出来る。

◆クラスの利用について

クラスファイルは分割して別のファイルとして保存することが出来る。
→複数の人間がひとつのプログラムを作成するときに便利。
仕様レベルのクラスファイルをうまく設計しておくと、
そのクラスファイルに対し複数で作業をする際の効率が上がる。

◆メソッドの定義

クラスの中に記述する。

戻り値の型 メソッド名(引数リスト)
{
文;
・・・
return 式;
}

メソッドを定義する例

void show()
{
System.out.println("xxx");
System.out.println("yyy");
}

メソッドを定義して一定の処理をまとめることが出来る

◆メソッドを呼び出す

オブジェクトをさす変数名.メソッド名(引数リスト);

①メソッドを呼び出す
②メソッド内部の処理が行われる
③処理が終わると呼び出し元に戻って処理を続ける


//車クラス
class Car
{
int num;
double gas;

void show()
{
System.out.println("ナンバーは"+num+"です。"); //クラス内なので変数がそのまま。
System.out.println("ガソリン量は"+gas+"です。");
}
}

class Sample
{
public static void main(String[] args)
{
Car car1;
car1 = new Car();

car1.num = 4649;
car1.gas = 31.4;

car1.show(); //メソッドの呼び出し。クラス外なのでクラス名をつける。
}
}

※なお、車クラスの変数はクラス内では「this.num」「this.gas」と書くことも出来る。

①クラス内ではオブジェクトをさす変数名をつけず(or this)にフィールドを記述する
②クラス外ではオブジェクトをさす変数名をつけてフィールドを記述する

同様にメソッドの呼び出しに関してもクラス内ではオブジェクトをさす変数名は不要。
そして「this」をつけることも出来る。

//車クラス
class Car
{
int num;
double gas;

void show()
{
System.out.println("ナンバーは"+num+"です。");
System.out.println("ガソリン量は"+gas+"です。");
}

void showCar()
{
System.out.println("これから車の情報を開示します。");
show(); //クラス内なのでメソッド名をそのまま
}
}

class Sample
{
public static void main(String[] args)
{
Car car1;
car1 = new Car();

car1.num = 4649;
car1.gas = 31.4;

car1.showCar(); //メソッドを呼ぶ。クラス外なのでクラス名をつけて。
}
}

◆メソッドの引数

呼び出し元からメソッドに値を渡してその値に応じた処理を行う。

void setNum(int n)
{
num = n;
System.out.println("車のナンバーを"num"にしました。");

}

※引数nはメソッド内でのみ利用できる。

//車クラス
class Car
{
int num;
double gas;

void setNum(int n)
{
num = n;
System.out.println("ナンバーを"+num+"にしました。");
}

void setGas(double g)
{
gas = g;
System.out.println("ガソリン量を"+gas+"にしました。");
}

void show()
{
System.out.println("ナンバーは"+num+"です。");
System.out.println("ガソリン量は"+gas+"です。");
}
}

class Sample
{
public static void main(String[] args)
{
Car car1 = new Car();

car1.setNum(4649);
car1.setGas(31.4);

car1.show();
}
}

実行結果
ナンバーを4649にしました。
ガソリン量を31.4にしました。
ナンバーは4649です。
ガソリン量は31.4です。

ここでは変数nが仮引数、4649が実引数となる。

◆変数の値を渡して呼び出す

実引数の部分に変数を使うことが出来る。

※型名は同じでないといけない

たとえば、

int number = 4649;
double gasoline = 31.4;

car1.setNum(number);
car1.setGas(gasoline);

としても問題ない。

◆複数の引数をもつメソッド

2つの引数を持つメソッド、

void setNumGas(int n, double g)

呼び出し、

car1.setNumGas(number, gasoline)

2つの引数を渡す。

◆戻り値

メソッドの呼び出し元にメソッドから特定の情報を返す
戻り値は1つしかもつことができない。

戻り値の型 メソッド名(引数リスト)
{
文;
・・・
return 式;
}

※returnの後は式なので「num+1」等の指定もできる。

◆戻り値のないメソッド

戻り値を持たない場合は「void型」とする。

void setNumGas(int n, double g)

プログラミング | trackback(0) | comment(0) |


<<主要プログラミング言語で"Hello world!"(プログラミングの基礎 Part3) | TOP | JAVA 8日目 復習用(._.)φ>>

comment











管理人のみ閲覧OK


trackback

trackback_url
http://kononushi.blog46.fc2.com/tb.php/495-36d7b09b

| TOP |

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。