第2章 Eclipseと簡単なオブジェクト 指向プログラミング

Slides:



Advertisements
Similar presentations
アルゴリズムとプログラミン グ (Algorithms and Programming) 第6回:クラスとインスタンス クラスの宣言 アクセス修飾子 インスタンスの生成 (new キーワード) this キーワード フィールドとメソッドの実際の定義と使い 方 クラスの宣言 アクセス修飾子 インスタンスの生成.
Advertisements

オブジェクト指向 言語 論 第八回 知能情報学部 新田直也. 多相性(最も単純な例) class A { void m() { System.out.println( “ this is class A ” ); } } class A1 extends A { void m() { System.out.println(
復習ー I (General Review I) クラスとオブジェクトの概念 Concepts of class and object クラスの宣言とオブジェクトの生成 Definition of a class and creation of an object コンストラクタとメソッドのオーバーロー.
オブジェクト指向 プログラミング 第二回 知能情報学部 新田直也. 講義計画(あくまで予定) 第 1 回 プログラミング言語の種類と歴史 第 2 回 eclipse の基本操作 第 3 回 eclipse のデバッグ機能 第 4 回 構造化プログラミングの復習 第 5 回 演習 第 6 回 構造化指向からオブジェクト指向へ.
プログラミング実習 1 ・ 2 ク ラス 第 2 週目 担当教員 : 渡邊 直樹. 課題 2 ● 2 × 2型行列の固有値, 固有ベクトルを求め る EigMatrix.java というプログラムを作成せ よ。 ● 行列の各要素はコマンド・プロンプトから入力 ● 計算した結果もコマンド・プロンプトに表示.
6.4継承とメソッド 6.5継承とコンストラクタ 11月28日 時田 陽一
Applet 岡部 祐典 鈴木 敬幸.
~手続き指向からオブジェクト指向へ(Ⅰ)~
アルゴリズムとデータ構造1 2007年6月12日
アルゴリズムとプログラミング (Algorithms and Programming)
第4章 配 列 オブジェクト指向Javaプログラミング入門 近代科学社©2008 Toru Kato Masahiro Higuchi
プログラミング実習 1・2 クラス 第 1 週目 担当教員:  渡邊 直樹.
アルゴリズムとプログラミング (Algorithms and Programming)
繰り返し プログラミング 第4回 繰り返し プログラミング第4回.
プログラミングIII演習 第1回目.
C#とC++とオブジェクト指向 上甲 健史.
インタフェース プログラミング 第14回 インタフェース プログラミング第14回.
Bridge Pattern
オブジェクト指向入門.
計算機プログラミングI 第8回 2002年12月5日(木) メソッドとクラス (教科書6章) クイズ インスタンスメソッド インスタンス変数
第6回独習Javaゼミ 第6章 セクション4~6 発表者 直江 宗紀.
オブジェクト指向 プログラミング 第十四回 知能情報学部 新田直也.
ソフトウェア工学 知能情報学部 新田直也.
プログラミング言語入門 手続き型言語としてのJava
オブジェクト指向基礎学習Ⅱ 平成20年7月1日 森田 彦.
JAVA入門後期⑩ 情報処理試験例題解説.
アルゴリズムとプログラミング (Algorithms and Programming)
第9章 例外処理,パッケージ 9.1 例外処理 9.2 ガーベッジコレクション.
オブジェクト指向 プログラミング 第八回 知能情報学部 新田直也.
独習JAVA 6.8 コンストラクタの修飾子 6.9 メソッドの修飾子 6.10 ObjectクラスとClassクラス 11月28日(金)
オブジェクト指向 プログラミング 第十一回 知能情報学部 新田直也.
オブジェクト指向 プログラミング 第十三回 知能情報学部 新田直也.
オブジェクト指向 プログラミング 第二回 知能情報学部 新田直也.
オブジェクト指向 プログラミング 第十四回 知能情報学部 新田直也.
暗号技術 ~JAVAプログラム①~ (5週目)
10-1 SAXの概要 10-2 Saxプログラミングの基礎 10-3 saxのプログラム例
オブジェクト指向言語論 第十一回 知能情報学部 新田直也.
オブジェクト指向 プログラミング 第十ニ回 知能情報学部 新田直也.
オブジェクト指向 プログラミング 第六回 知能情報学部 新田直也.
オブジェクト指向 プログラミング 第二回 知能情報学部 新田直也.
オブジェクト指向言語論 第十一回 知能情報学部 新田直也.
オブジェクト・プログラミング 第8回.
アルゴリズムとプログラミング (Algorithms and Programming)
オブジェクト指向 プログラミング 第九回 知能情報学部 新田直也.
オブジェクト指向プログラミング クラス 継承
プログラミング言語論 第十三回 理工学部 情報システム工学科 新田直也.
オブジェクト指向 プログラミング 第八回 知能情報学部 新田直也.
オブジェクト指向 プログラミング 第六回 知能情報学部 新田直也.
プログラミング言語論 第十一回 理工学部 情報システム工学科 新田直也.
統合開発環境によって表現された 言語機構によるコードのモジュール化
C#プログラミング実習 第3回.
計算機プログラミングI 木曜日 1時限・5時限 担当: 増原英彦 第1回 2002年10月10日(木)
アルゴリズムとプログラミング (Algorithms and Programming)
ソフトウェア制作論 平成30年11月28日.
Chapter 5 5.5 thisキーワード 5.6 インスタンス変数とインスタンスメソッド 結城 隆
JAVA入門⑥ クラスとインスタンス.
オブジェクト指向 プログラミング 第四回 知能情報学部 新田直也.
オブジェクト指向言語論 第九回 知能情報学部 新田直也.
cp-3. サブクラス,継承 (C++ オブジェクト指向プログラミング入門)
cp-2. 属性,アクセサ (C++ オブジェクト指向プログラミング入門)
cp-1. クラスとメソッド (C++ オブジェクト指向プログラミング入門)
オブジェクト指向言語論 第七回 知能情報学部 新田直也.
Javaとは Javaとはオブジェクト指向言語でJava VM(Java仮想マシン)と呼ばれるプログラム上で動作します。
オブジェクト指向言語論 第六回 知能情報学部 新田直也.
オブジェクト指向 プログラミング 第六回 知能情報学部 新田直也.
オブジェクト指向言語論 第九回 知能情報学部 新田直也.
オブジェクト指向言語論 第十回 知能情報学部 新田直也.
計算機プログラミングI 第2回 2002年10月17日(木) 履習登録 複習 ライブラリの利用 (2.6-7) 式・値・代入 (2.6-8)
計算機プログラミングI 第10回 2002年12月19日(木) メソッドの再定義と動的結合 クイズ メソッドの再定義 (オーバーライド)
計算機プログラミングI 第5回 2002年11月7日(木) 配列: 沢山のデータをまとめたデータ どんなものか どうやって使うのか
Presentation transcript:

第2章 Eclipseと簡単なオブジェクト 指向プログラミング オブジェクト指向Javaプログラミング入門 第2章  Eclipseと簡単なオブジェクト 指向プログラミング 近代科学社©2008 Toru Kato Masahiro Higuchi Shiro Takata

今日の内容 1. 実施要領の把握(実習ノートを見ながら説明する) 2. Eclipse使用方法の習得 3. 簡単なオブジェクト指向プログラミング 4. 演習課題 の作成と提出

1. 実施要領の把握(実習ノートを見ながら説明する) 2. Eclipse使用方法の習得 (教科書を見ながら実際に使用する) 今日の内容 1. 実施要領の把握(実習ノートを見ながら説明する) 2. Eclipse使用方法の習得   (教科書を見ながら実際に使用する) p.10 Eclipse の起動  p.13 ソースコードはEUCのまま   p.14 プロジェクトの作成 p.15 HelloWorldクラスの作成

1. 実施要領の把握(実習ノートを見ながら説明する) 2. Eclipse使用方法の習得 3. 簡単なオブジェクト指向プログラミング 今日の内容 1. 実施要領の把握(実習ノートを見ながら説明する) 2. Eclipse使用方法の習得 3. 簡単なオブジェクト指向プログラミング (教科書を見ながら実際に使用する) p.18 クラスとは  p.19 Rectangleクラス

オブジェクトをクラス(class)に分類 オブジェクト指向 世の中にあるものは,全てオブジェクト オブジェクトをクラス(class)に分類 class 人間 機器 乗り物 建物 動物 植物 オブジェクトを主体としてプログラムを記述

オブジェクト指向プログラミング クラスRectangle x座標 y座標 幅 属性 高さ できること 移動する 状態を表示 オブジェクト指向プログラミングでは、まず対象とするもの(例えば座標平面上の長方形)の特徴を抽出し、クラスを作ることから始める。 x座標 y座標 幅 高さ できること  移動する 状態を表示 属性

オブジェクト指向プログラミング オブジェクト クラスRectangle rectangle1 x座標 2 y座標 1 幅 5 属性 高さ 6 できること  移動する 状態を表示 rectangle1 属性 2 1 5 6 具体的な「rectangle1」は、Rectangleクラスのオブジェクトである。各属性に具体的な値を持つ。

オブジェクト指向プログラミング オブジェクト クラスRectangle rectangle1 x座標 2 y座標 1 幅 5 属性 高さ 6 できること  移動する 状態を表示 rectangle1 属性 2 1 5 6 そして、そのオブジェクトに 仕事をさせる。

オブジェクト指向プログラミング オブジェクト クラスRectangle x座標 y座標 幅 高さ できること  移動する 状態を表示 rectangle1 属性 2 1 5 6 状態を表示して!

オブジェクト指向プログラミング オブジェクト クラスRectangle rectangle1 x座標 2 y座標 1 幅 5 属性 高さ 6 できること  移動する 状態を表示 rectangle1 属性 2 1 5 6 x座標2, y座標1, 幅5, 高さ6

オブジェクト指向プログラミング オブジェクト クラスRectangle rectangle1 x座標 2 y座標 1 幅 5 属性 高さ 6 できること  移動する 状態を表示 rectangle1 属性 2 1 5 6 x座標方向に2 y座標方向に2 だけ移動して!

オブジェクト指向プログラミング オブジェクト クラスRectangle rectangle1 x座標 y座標 幅 高さ できること  移動する 状態を表示 属性 =4 =3 5 6

オブジェクト指向プログラミング オブジェクト クラス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.2.1

簡単なオブジェクト指向プログラム 作成方法 教科書 p. 20 2行目 実行方法 教科書 p. 20 下から3行目 実行結果 説明の前に、まず作成して実行してみよう 作成方法  教科書 p. 20 2行目 実行方法  教科書 p. 20 下から3行目 実行結果 x座標2, y座標1, 幅5, 高さ6 x座標4, y座標3, 幅5, 高さ6

フィールド 1 public class Rectangle { 2 private int xPosition; 3 private int yPosition; 4 private int width; 5 private int height; 14 public void move(int xMove, int yMove) { 15 xPosition = xPosition + xMove; 16 yPosition = yPosition + yMove; 17 } 19 public void printInfo() { 20 System.out.print(" x座標: "+xPosition + ", y座標 : " + yPosition); 21 System.out.println(", 幅: " + width + ", 高さ: " + height); 22 } フィールド

メソッド 1 public class Rectangle { 2 private int xPosition; 3 private int yPosition; 4 private int width; 5 private int height; 14 public void move(int xMove, int yMove) { 15 xPosition = xPosition + xMove; 16 yPosition = yPosition + yMove; 17 } 19 public void printInfo() { 20 System.out.print(" x座標: "+xPosition + ", y座標 : " + yPosition); 21 System.out.println(", 幅: " + width + ", 高さ: " + height); 22 } メソッド

オブジェクトの生成方法を、コンストラクタによって定義する。 クラスRectangle x座標 y座標 幅 高さ できること  移動する 状態を表示 属性 2 1 5 6

コンストラクタ 1 public class Rectangle { 2 private int xPosition; 3 private int yPosition; 4 private int width; 5 private int height; 7 public Rectangle(int xPosition, int yPosition, int width, int height) { 8 this.xPosition = xPosition; 9 this.yPosition = yPosition; 10 this.width = width; 11 this.height = height; 12 } コンストラクタ

mainメソッドで実行 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 }

オブジェクトの生成 オブジェクト クラスRectangle x座標 2 y座標 1 幅 5 属性 高さ 6 24 public static void main(String[] args) { 25 Rectangle rectangle1 =                 new Rectangle(2, 1, 5, 6); オブジェクト クラスRectangle x座標 y座標 幅 高さ 属性 2 1 5 6

コンストラクタ new Rectangle(2, 1, 5, 6); 2 1 5 6 1 public class Rectangle { 2 private int xPosition; 3 private int yPosition; 4 private int width; 5 private int height; 7 public Rectangle(int xPosition, int yPosition, int width, int height) { 8 this.xPosition = xPosition; 9 this.yPosition = yPosition; 10 this.width = width; 11 this.height = height; 12 } 5 6 コンストラクタ

オブジェクトの生成 オブジェクト クラスRectangle x座標 2 y座標 1 幅 5 属性 高さ 6 20 public static void main(String[] args) { 21 Rectangle rectangle1 =                  new Rectangle(2, 1, 5, 6); 22 rectangle1.printInfo(); 23 rectangle1.move(2, 2); 24 rectangle1.printInfo(); 25 } 26 } オブジェクト クラスRectangle x座標 y座標 幅 高さ 属性 2 1 5 6

オブジェクトにメソッドを実行させる 実行結果 x座標: 2, y座標: 1 ,幅: 5, 高さ: 6 20 public static void main(String[] args) { 21 Rectangle rectangle1 =                 new Rectangle(2, 1, 5, 6); 22 rectangle1. printInfo() ; 23 rectangle1. move(2, 2) ; 24 rectangle1. printInfo() ; 25 } 26 } x座標: 2, y座標: 1 ,幅: 5, 高さ: 6 x座標: 4, y座標: 3 ,幅: 5, 高さ: 6 実行結果

オブジェクトを複数生成するように拡張した 今日の内容 1. 実施要領の把握(実習ノートに詳述) 2. Eclipse使用方法の習得 3. 簡単なオブジェクト指向プログラミング 4. 演習課題 の作成と提出 教科書(p. 34)の演習問題 2.1 オブジェクトを複数生成するように拡張した Rectangle.javaを作成。実行確認ができたら提出。