ソフトウェア制作論 平成30年11月28日.

Slides:



Advertisements
Similar presentations
オブジェクト指向 言語 論 第八回 知能情報学部 新田直也. 多相性(最も単純な例) class A { void m() { System.out.println( “ this is class A ” ); } } class A1 extends A { void m() { System.out.println(
Advertisements

独習JAVA Chapter 6 6.6 クラスの修飾子 6.7 変数の修飾子 結城 隆. 6.6 クラスの修飾 abstract インスタンス化できないクラス。1つまたは複数のサブクラスで 実装してはじめてインスタンス化できる。 final 継承されたくないことを明示する。これ以上機能拡張 / 変更でき.
ソフトウェア工学 理工学部 情報システム工学科 新田直也. 演習問題 1 の解答例  入庫処理の DFD 酒屋の在庫問題の DFD( 入庫処理 ) 更新情報 在庫ファイル 更新処理 倉庫係 在庫不足リスト 在庫ファイル 出庫指示書 新規出庫 判定 出庫指示書 作成処理 出庫依頼 積荷票.
ソフトウェア工学 知能情報学部 新田直也. オブジェクト指向パラダイムと は  オブジェクト指向言語の発展に伴って形成され てきたソフトウェア開発上の概念.オブジェク ト指向分析,オブジェクト指向設計など,プロ グラミング以外の工程でも用いられる.  ソフトウェアを処理や関数ではなくオブジェク.
6.4継承とメソッド 6.5継承とコンストラクタ 11月28日 時田 陽一
プログラミング 平成24年1月11日 森田 彦.
Applet 岡部 祐典 鈴木 敬幸.
アルゴリズムとデータ構造1 2007年6月12日
ネットワークプログラミング論 平成27年10月12日 森田 彦.
CGプログラミング論 平成28年4月27日 森田 彦.
JavaBeans とJSP データベース論 第5回.
第2章 Eclipseと簡単なオブジェクト 指向プログラミング
インタフェース プログラミング 第14回 インタフェース プログラミング第14回.
オブジェクト指向入門.
ネットワークプログラミング論 平成28年10月17日 森田 彦.
プログラミング 平成24年10月30日 森田 彦.
第6回独習Javaゼミ 第6章 セクション4~6 発表者 直江 宗紀.
ネットワークプログラミング論 平成28年11月21日 森田 彦.
細かい粒度でコードの再利用を可能とするメソッド内メソッドのJava言語への導入
オブジェクト指向 プログラミング 第十四回 知能情報学部 新田直也.
プログラミング 平成25年11月5日 森田 彦.
データ構造と アルゴリズム論 平成29年9月27日 森田 彦.
ソフトウェア工学 知能情報学部 新田直也.
アルゴリズムとプログラミング (Algorithms and Programming)
オブジェクト指向 プログラミング 第八回 知能情報学部 新田直也.
独習JAVA 6.8 コンストラクタの修飾子 6.9 メソッドの修飾子 6.10 ObjectクラスとClassクラス 11月28日(金)
オブジェクト指向 プログラミング 第十一回 知能情報学部 新田直也.
オブジェクト指向 プログラミング 第十三回 知能情報学部 新田直也.
ネットワークプログラミング論 平成28年11月7日 森田 彦.
オブジェクト指向 プログラミング 第十四回 知能情報学部 新田直也.
ネットワークプログラミング論 平成28年10月31日 森田 彦.
ソフトウェア制作論 平成30年12月5日.
ソフトウェア制作論 平成30年10月3日.
11 ソフトウェア工学 Software Engineering デザインパターン DESIGN PATTERNS.
10-1 SAXの概要 10-2 Saxプログラミングの基礎 10-3 saxのプログラム例
C#言語ソースプログラムの原型 C言語 C#言語 Hello World! Hello Students! オマジナイ! 適当なクラス名
ソフトウェア制作論 平成30年9月26日.
オブジェクト指向言語論 第十一回 知能情報学部 新田直也.
ソフトウェア制作論 平成30年10月24日.
ソフトウェア制作論 平成30年10月31日.
ソフトウェア制作論 平成30年11月21日.
プログラミングⅠ 平成30年10月15日 森田 彦.
ソフトウェア制作論 平成30年10月10日.
オブジェクト指向 プログラミング 第十ニ回 知能情報学部 新田直也.
オブジェクト指向言語論 第十一回 知能情報学部 新田直也.
プログラミングⅠ 平成30年10月22日 森田 彦.
オブジェクト指向 プログラミング 第九回 知能情報学部 新田直也.
プログラミング言語論 第十三回 理工学部 情報システム工学科 新田直也.
オブジェクト指向 プログラミング 第八回 知能情報学部 新田直也.
ソフトウェア工学 知能情報学部 新田直也.
オブジェクト指向言語論 第十二回 知能情報学部 新田直也.
プログラミング言語論 第十一回 理工学部 情報システム工学科 新田直也.
C#プログラミング実習 第3回.
Javaによる Webアプリケーション入門 第4回
プログラミングⅠ 平成30年12月10日 森田 彦.
ソフトウェア制作論 平成30年11月14日.
JAVA入門⑥ クラスとインスタンス.
オブジェクト指向言語論 第十一回 知能情報学部 新田直也.
オブジェクト指向言語論 第九回 知能情報学部 新田直也.
cp-1. クラスとメソッド (C++ オブジェクト指向プログラミング入門)
プログラミング 平成28年11月15日 森田 彦.
ソフトウェア工学 知能情報学部 新田直也.
オブジェクト指向言語論 第七回 知能情報学部 新田直也.
Javaとは Javaとはオブジェクト指向言語でJava VM(Java仮想マシン)と呼ばれるプログラム上で動作します。
オブジェクト指向言語論 第六回 知能情報学部 新田直也.
ソフトウェア制作論 平成30年10月17日.
プログラミング 平成28年10月25日 森田 彦.
オブジェクト指向言語論 第九回 知能情報学部 新田直也.
オブジェクト指向言語論 第十回 知能情報学部 新田直也.
計算機プログラミングI 第10回 2002年12月19日(木) メソッドの再定義と動的結合 クイズ メソッドの再定義 (オーバーライド)
Presentation transcript:

ソフトウェア制作論 平成30年11月28日

第10章 クラスの利用1 -既存クラスの継承による機能の発展- 第10章 クラスの利用1  -既存クラスの継承による機能の発展- <本日の学習内容とねらい> 前章で作成したクラスEarClassを拡張する(新たなメソッドを追加す る)。 その拡張をクラスの継承機能を用いて行う。 その過程を通じてオブジェクト指向プログラミングにおけるプログラム (クラス)の拡張の仕方を理解する。

基礎課題10-1 クラスの新規作成 package kiso10; public class NewEraClass { }

基礎課題10-2 継承の追加 package kiso10; public class NewEraClass { }

基礎課題10-2 継承の追加 package kiso10; 基礎課題10-2 継承の追加 package kiso10; public class NewEraClass extends EraClass { }

基礎課題10-3 メソッド(原型)の記述 public class NewEraClass extends EraClass { 基礎課題10-3 メソッド(原型)の記述 public class NewEraClass extends EraClass { public String getWeekDay() { ・・・ } private int getDayNumberBefore(){ private int getDayNumber(){ private boolean isLeapDay(int year){

基礎課題10-7 メインプログラムの修正 private void jButtonGengouActionPerformed(ActionEvent evt) { int year=Integer.parseInt(jTextFieldYear.getText()); int month=Integer.parseInt(jTextFieldMonth.getText()); int day=Integer.parseInt(jTextFieldDay.getText()); EraClass era1=new EraClass(); int dataSize=100; String fName="年号データ.csv"; era1.setEraData(dataSize,year, month, day, fName); String eraName=era1.getEraName(); jLabelResult.setText(eraName+"年"+month+"月"+day+"日"); }

基礎課題10-7 メインプログラムの修正 jLabelWeekDay.setText(weekDay+"です。"); //曜日の表示 基礎課題10-7 メインプログラムの修正 private void jButtonGengouActionPerformed(ActionEvent evt) { int year=Integer.parseInt(jTextFieldYear.getText()); int month=Integer.parseInt(jTextFieldMonth.getText()); int day=Integer.parseInt(jTextFieldDay.getText()); NewEraClass era1= new NewEraClass() ; int dataSize=100; String fName="年号データ.csv"; era1.setEraData(dataSize,year, month, day, fName); String eraName=era1.getEraName(); jLabelResult.setText(eraName+"年"+month+"月"+day+"日"); String weekDay= era1.getWeekDay() ; jLabelWeekDay.setText(weekDay+"です。"); //曜日の表示 }

基礎課題10-7 メインプログラムの修正 jLabelWeekDay.setText(weekDay+"です。"); //曜日の表示 基礎課題10-7 メインプログラムの修正 private void jButtonGengouActionPerformed(ActionEvent evt) { int year=Integer.parseInt(jTextFieldYear.getText()); int month=Integer.parseInt(jTextFieldMonth.getText()); int day=Integer.parseInt(jTextFieldDay.getText()); NewEraClass era1= new NewEraClass() ; int dataSize=100; String fName="年号データ.csv"; era1.setEraData(dataSize,year, month, day, fName); String eraName=era1.getEraName(); jLabelResult.setText(eraName+"年"+month+"月"+day+"日"); String weekDay= era1.getWeekDay() ; jLabelWeekDay.setText(weekDay+"です。"); //曜日の表示 }

基礎課題10-7 メインプログラムの修正 jLabelWeekDay.setText(weekDay+"です。"); //曜日の表示 基礎課題10-7 メインプログラムの修正 private void jButtonGengouActionPerformed(ActionEvent evt) { int year=Integer.parseInt(jTextFieldYear.getText()); int month=Integer.parseInt(jTextFieldMonth.getText()); int day=Integer.parseInt(jTextFieldDay.getText()); NewEraClass era1= new NewEraClass() ; int dataSize=100; String fName="年号データ.csv"; era1.setEraData(dataSize,year, month, day, fName); String eraName=era1.getEraName(); jLabelResult.setText(eraName+"年"+month+"月"+day+"日"); String weekDay= era1.getWeekDay() ; jLabelWeekDay.setText(weekDay+"です。"); //曜日の表示 }

クラスの利用1 -既存クラスの継承による機能の発展- クラスの利用1  -既存クラスの継承による機能の発展- 継承機能を利用することで、継承元クラス(EraClass)に直接手を加え ることなく、機能を拡張(追加)することができた。→ 既存クラスの再利用 性の向上 オブジェクト指向プログラミングの基本スタイル→ 関連するクラスを継承 し、独自の機能を追加することで行う。 プログラミング演習の時間に皆がやって来たことは、JFrameクラスを継承 して(ボタンをつけるなど)独自の機能を追加すること。→すでにオブジェク ト指向プログラミングを実践していた。