1javaProgram

オブジェクト指向Javaプログラミング入門
第2章
Eclipseと簡単なオブジェクト
指向プログラミング
近代科学社©2008 Toru Kato
Masahiro Higuchi
Shiro Takata
今日の内容
1. 実施要領の把握(実習ノートを見ながら説明する)
2. Eclipse使用方法の習得
3. 簡単なオブジェクト指向プログラミング
4. 演習課題 の作成と提出
今日の内容
1. 実施要領の把握(実習ノートを見ながら説明する)
2. Eclipse使用方法の習得
(教科書を見ながら実際に使用する)
• p.10 Eclipse の起動
• p.13 ソースコードはEUCのまま
• p.14 プロジェクトの作成
• p.15 HelloWorldクラスの作成
今日の内容
1. 実施要領の把握(実習ノートを見ながら説明する)
2. Eclipse使用方法の習得
3. 簡単なオブジェクト指向プログラミング
(教科書を見ながら実際に使用する)
• p.18 クラスとは
• p.19 Rectangleクラス
オブジェクト指向
世の中にあるものは,全てオブジェクト
オブジェクトをクラス(class)に分類
class
人間
class
機器
class
動物
class
建物
class
乗り物
class
植物
オブジェクトを主体としてプログラムを記述
オブジェクト指向プログラミング
クラスRectangle
x座標
y座標 属性
幅
高さ
できること
移動する
状態を表示
オブジェクト指向プロ
グラミングでは、まず
対象とするもの(例え
ば座標平面上の長方
形)の特徴を抽出し、
クラスを作ることから
始める。
オブジェクト指向プログラミング
オブジェクト
クラスRectangle
rectangle1
x座標
=2
y座標 属性 =1
幅
=5
高さ
=6
できること
具体的な「rectangle1」は、Rectangle
移動する
クラスのオブジェクトである。各属性
状態を表示
に具体的な値を持つ。
オブジェクト指向プログラミング
オブジェクト
クラスRectangle
rectangle1
x座標
=2
y座標 属性 =1
幅
=5
高さ
=6
できること
移動する
そして、そのオブジェクトに
状態を表示
仕事をさせる。
オブジェクト指向プログラミング
オブジェクト
クラスRectangle
rectangle1
x座標
=2
y座標 属性 =1
幅
=5
高さ
=6
できること
移動する
状態を表示して!
状態を表示
オブジェクト指向プログラミング
オブジェクト
クラスRectangle
x座標
=2
y座標 属性 =1
幅
=5
高さ
=6
できること
移動する
状態を表示
rectangle1
x座標2, y座標1,
幅5, 高さ6
オブジェクト指向プログラミング
オブジェクト
クラスRectangle
x座標
=2
y座標 属性 =1
幅
=5
高さ
=6
できること
移動する
状態を表示
rectangle1
x座標方向に2
y座標方向に2
だけ移動して!
オブジェクト指向プログラミング
オブジェクト
クラスRectangle
x座標
=4
y座標 属性 =3
幅
=5
高さ
=6
できること
移動する
状態を表示
rectangle1
オブジェクト指向プログラミング
オブジェクト
クラスRectangle
x座標
y座標 属性
幅
高さ
できること
移動する
一つのクラスの、幾つものオブ
状態を表示 ジェクトを作ることができる。
オブジェクト指向プログラミング
オブジェクト
クラスRectangle
x座標
y座標 属性
幅
高さ
できること
移動する
状態を表示
オブジェクトたちに仕事をさせる
ことで問題を解決する
簡単なオブジェクト指向プログラム
p. 20 プログラム例2.2.1
1 public class Rectangle {
2
private int width;
3
private int height;
4
private int xPosition;
5
private int yPosition;
6
7
public Rectangle(int width, int height, int xPosition, int yPosition) {
8
this.width = width;
9
this.height = height;
10
this.xPosition = xPosition;
11
this.yPosition = yPosition;
12
}
13
14
public void move(int xMove, int yMove) {
15
xPosition = xPosition + xMove;
16
yPosition = yPosition + yMove;
17
}
18
19
public void printInfo() {
20
System.out.print(" x座標: " + xPosition + ", y座標 : " + yPosition);
21
System.out.println(", 幅: " + width + ", 高さ: " + height);
22
}
23
24
public static void main(String[] args) {
25
Rectangle rectangle1 = new Rectangle(2, 1, 5, 6);
26
27
rectangle1.printInfo();
28
rectangle1.move(2, 2);
29
rectangle1.printInfo();
30
}
31 }
簡単なオブジェクト指向プログラム
説明の前に、まず作成して実行してみよう
作成方法
教科書 p. 20 2行目
実行方法
教科書 p. 20 下から3行目
実行結果
x座標2, y座標1, 幅5, 高さ6
x座標4, y座標3, 幅5, 高さ6
1
2
3
4
5
public class Rectangle {
private int xPosition;
private int yPosition;
private int width;
private int height;
フィールド
14
15
16
17
public void move(int xMove, int yMove) {
xPosition = xPosition + xMove;
yPosition = yPosition + yMove;
}
19
20
public void printInfo() {
System.out.print(" x座標: "+xPosition + ", y座標 : "
+ yPosition);
System.out.println(", 幅: " + width + ", 高さ: "
+ height);
}
21
22
1
2
3
4
5
public class Rectangle {
private int xPosition;
private int yPosition;
private int width;
private int height;
メソッド
14
15
16
17
public void move(int xMove, int yMove) {
xPosition = xPosition + xMove;
yPosition = yPosition + yMove;
}
19
20
public void printInfo() {
System.out.print(" x座標: "+xPosition + ", y座標 : "
+ yPosition);
System.out.println(", 幅: " + width + ", 高さ: "
+ height);
}
21
22
オブジェクトの生成方法を、コンスト
ラクタによって定義する。
オブジェクト
クラスRectangle
x座標
=2
y座標
属性 =1
幅
=5
高さ
=6
できること
移動する
状態を表示
1 public class Rectangle {
2
private int xPosition;
3
private int yPosition;
4
private int width;
5
private int height;
コンストラクタ
7
8
9
10
11
12
public Rectangle(int xPosition, int yPosition,
int width, int height) {
this.xPosition = xPosition;
this.yPosition = yPosition;
this.width = width;
this.height = height;
}
mainメソッドで実行
24
25
public static void main(String[] args) {
Rectangle rectangle1 =
new Rectangle(2, 1, 5, 6);
26
27
rectangle1.printInfo();
28
rectangle1.move(2, 2);
29
rectangle1.printInfo();
30
}
31 }
オブジェクトの生成
24
25
public static void main(String[] args) {
Rectangle rectangle1 =
new Rectangle(2, 1, 5, 6);
クラスRectangle
x座標
y座標
幅
高さ
=2
=1
属性
=5
=6
オブジェクト
new Rectangle(2,
2 11, 5, 6);
1 public class Rectangle {
2
private int xPosition;
3
private int yPosition;
4
private int width; 5
5
private int height;6
コンストラクタ
7
8
9
10
11
12
public Rectangle(int xPosition, int yPosition,
int width, int height) {
this.xPosition = xPosition;
this.yPosition = yPosition;
this.width = width;
this.height = height;
}
オブジェクトの生成
20
21
public static void main(String[] args) {
Rectangle rectangle1 =
new Rectangle(2, 1, 5, 6);
rectangle1.printInfo();
rectangle1.move(2, 2);
rectangle1.printInfo();
}
22
23
24
25
26 }クラスRectangle
x座標
y座標
幅
高さ
=2
=1
属性
=5
=6
オブジェクト
オブジェクトにメソッドを実行させる
20
21
22
23
24
25
26 }
public static void main(String[] args) {
Rectangle rectangle1 =
new Rectangle(2, 1, 5, 6);
rectangle1. printInfo() ;
rectangle1. move(2, 2) ;
rectangle1. printInfo() ;
}
実行結果
x座標: 2, y座標: 1 ,幅: 5, 高さ: 6
x座標: 4, y座標: 3 ,幅: 5, 高さ: 6
今日の内容
1. 実施要領の把握(実習ノートに詳述)
2. Eclipse使用方法の習得
3. 簡単なオブジェクト指向プログラミング
4. 演習課題 の作成と提出
教科書(p. 34)の演習問題 2.1
オブジェクトを複数生成するように拡張した
Rectangle.javaを作成。実行確認ができたら提出。