Javaによるオブジェクト指向プログラミング入門

末広ページへ このコーナーの目次へ

このページは、岐阜大学工学部応用情報学科2年のクラスの授業の内容です。

課題発表

 


講師:

斎藤末広(非常勤:日本総合ビジネス専門学校助教授)質問はsaito-s@school.ac.jp

目標:

 Java言語を使用することで、オブジェクト指向に慣れる。また、Javaを得意な言語とする。

授業の進め方

 教科書に従って、講義、実習を行う。

 最終課題として、各自ホームページを立ち上げ、夏休み中に自作のJavaアプレット(300行以上)を動作させる。ソース公開(卒業まで、著作権チェックのため)すること。完成に至っていなくても努力の成果があれば合格とする。テーマは、一人一テーマで、他の人と同一テーマはいけない。テーマは早い者勝ち。テーマをメールで申請すること。mailto:spage@yscon.co.jp

 なお、作成したプログラムは公開をすること、外部からリンクでたどれないところにあるものは認めない。締め切りは、夏休み終了時。

 期末テストもあり。内容は14回目(9/22) 講義「オブジェクト指向とJava」の内容から出題する。

教科書

 『Javaによるオブジェクト指向プログラム入門』越田一郎著、培風館発行、1800円,H10.2.25

参考

 ジャバ辞典(当ウェブ内)
 言語仕様(英語) ジェームズ ゴスリング他 著
 言語仕様(日本語)マルチメディア/ハイパメディア調査研究委員会

実習環境

 管理者から

>Xを立ちあげる時にstartxの代わりに
>openwinを使ってみてください.

>そこで,Javaを表示するためにHotjavaをインストールしました.
>バージョンはHotJava Browser 1.1.2です.

>起動は以下一行を実行してください.
>/opt/local/HotJava1.1.2/bin/hotjava

のメールが来ています。各自試して見て下さい。

 


1回目(4/13) JavaとHelloJava

教科書第1章から第3章、ただしアプレット関係は省く

課題:アプリケーションでHelloJavaと表示する

2回目(4/20) Java言語の基本要素

教科書第4章、ただしアプレット関係は省く

課題:1からnまでの合計が10000を超える最小の n を求めるアプリケーションを作成する。

3回目(4/27) オブジェクト指向の要素

教科書第3章のアプレット

HelloJavaとHelloappletの違い、

新しく学習する用語

 継承 extends
 クラス
 インスタンス
 メソッド
 メッセージ

課題 第4章練習問題2

補足
 newはまだ触れていない

 


4回目(5/12) アプレットと継承

教科書第3、4章のアプレットの内容を確認

 


5回目(5/19) 参照型

教科書第5章

 基本型とクラスの中間物として、配列、文字列を認識する。参照型は、ポインタの代わりである。コピーせずに、そのものをアクセスしたいときに使用する。

新しい用語

 参照型、配列型、インスタンス、オブジェクトの生成(new)、文字列

教科書にあるが触れない項目

 ガーベジ・コレクション、コメント

本日の課題

 教科書70ページの練習問題2

 


6回目(5/27) クラス定義とインスタンス

 教科書第6章

重要用語

 アクセス制御子(Public, Private)、コンストラクタ

教科書にあるが触れない項目

 メソッドのないクラス定義、スタックサンプル(6.5.4)

本日の課題

 教科書92ページの練習問題1、2

参考にするのは、教科書83ページ、LIST6.4
http://www.yscon.co.jp/j/lecture/java/6syo-1/index.htm

 


7回目(6/2) 継承

 教科書第7章

重要用語

 継承,差分,親クラス(スーパクラス),子クラス(サブクラス),予約語super,予約語extends

教科書にあるが触れない項目

 フィールド(変数)をPrivateにし,アクセスする必要があるときは,アクセスメソッドを使用する
(教科書108),これは重要な事項であるが,時間の関係で触れない。各自勉強してほしい。

 7.4の例題も触れない。

本日の課題

 教科書112ページの練習問題1、2

参考にするのは、教科書99ページからの、LIST7.1〜7.3
http://www.yscon.co.jp/j/lecture/java/7syo-1/index.htm

 


8回目(6/9) 抽象クラスと多相性

 教科書第8章

重要用語

 抽象クラス、多相性、抽象メソッド、キャスト(型変換)

教科書にあるが触れない項目

 動的束縛、オブジェクト配列,これらは重要な事項であるが,時間の関係で触れない。各自勉強してほしい。

 List8.6の例題も触れない。

本日の課題

 教科書132ページの練習問題1とそれをテストするプログラムをList8.5 ColoredFigure.javaを利用して作成する。

 練習問題1は、図8.1から図8.2を作成する作業である。現在、図8.2のColoredFigureColoredCircleがあるので、あとColoredDiamondを作成すればよい。

 図8.2のColoredDiamondは、図8.1のDiamondとColoreDiamondのプログラムソースを利用して作成する。

 


9回目(6/16) インタフェースと多重継承

 教科書第9章

重要用語

 多重継承、インターフェース、定義(definition)、実装(implementation)

教科書にあるが触れない項目

 多重継承の問題点。これらは重要な事項であるが,時間の関係で触れない。各自勉強してほしい。

本日の課題

 コンパイルエラーから、クラスとインスタンス(インターフェース)の関係を学習する。

 教科書140ページのList9.2は、一つのファイルの中に2つのインターフェース、3つのクラスが記述してある。それを5つのファイル、Colorabele.java, Figure.java, OvalFigure.java, ColoredOval.java, InterfaceTest.javaに分割し、手で入力する(エラーが発生する必要がある)。コンパイルはInterfaceTest.javaだけを指示し、そのときのエラーメッセージと原因をメールで報告する。なおエラーメッセージは、メールに「張り付け」をすること。自分で要約してはいけない。

メールの提出先は、mailto:spage@yscon.co.jp

 余裕があれば、140ページの練習1,2に挑戦するとよい。

 


10回目(6/23) アプレットとGUI

 教科書第10章

重要用語

 イベント、イベントソース、イベントリスナー、低レベルイベント、意味的イベント,JDK1.0とのイベント取り扱いの違い

教科書にあるが触れない項目

 Canvasクラス

本日の内容

 List10.2の動作とプログラム

本日の課題

 教科書163ページの練習問題1を行う。

なお、キーボードのrキーを押したら赤色に設定するコードは以下のようにするとできる。

if (e.getKeyCode() == KeyEvent.VK_R){myColor = 0;}

また、アプレットを動作させるときは、表示された図をまずクリックして下さい。

 

 


 

11回目(6/30) Javaのさまざまな機能

 本日で教科書を終了。第11章には,例外処理,並列処理,音声・画像の取り扱いが書いてまります。

この章の内容は,末広ページにて,夏休み中に,サンプルの公開をしたいと思います。

本日の課題

 教科書174ページのList11.4は,アプリケーションです。これをアプレットに変更して下さい。

本日の課題は,かなり難しいと思います。できた人は,回答をメールにて,報告して下さい。

spage@yscon.co.jp

 


12回目(7/7) サンプルプログラムの紹介

 プログラム作成に利用できるサンプルプログラムとウェブの紹介

 日本語でJava

 Javaリース集:Digital Cat's Java Resource Center -Japanese-

 


13回目(7/14) 講義「プログラム作成のこつ」

 講義「プログラムを作成する7つのこつ

14回目(9/22) 講義「オブジェクト指向とJava」

15回目(期末テスト) 最終テスト

 


spage@yscon.co.jp

末広ホームへ このコーナーの目次へ