第114回:メディア技術基礎(ネットワーク・画像処理)(その2)
今回は、具体的な授業内容について。
ウェブブラウザの開発には、「Eclipse」という無料のソフトウェアを利用した。
まずは「Hello World」など、簡単なプログラムを書くことでソフトの操作方法を覚える。その後、既存のブラウザをベーストしてまずは「バラす」作業に入って行く。自分が作りたいものは、何をどう組み合わせればできるのか。必要な「部品」について学ぶ。
その上で、設計方法についても学んで行く。授業内で扱った例を挙げると、
・クラスの継承とオーバーライド(上書き)
→サブクラスはスーパークラスの設計を流用する。スーパークラスのデータとメソッドはそのまま受け継ぎ、新しくデータを増やしたりメソッドを新しく作成/上書きする場合のみ、その差分だけを設計する。
・クラスの縦と横の関係
→横:「固定電話」と「携帯電話」
縦:「携帯電話」「カメラ付き携帯電話」「GPSカメラ付き携帯電話」
・ポリモーフィズム
→オブジェクトが自分の都合に合わせて、勝手に仕事をしてくれること。
・カプセル化→仕事をしてもらう時に、「どのように仕事をするのかはそのクラスだけが知っている」よう、クラスをつくること。
(例)ガチャピンの着ぐるみ(Javaで言うインターフェイス)に”何かチャレンジしろ”というメソッドを定義する。たとえば「中の人」が入れ替わることで、”何かチャレンジしろ”というメソッドを実行したときの処理内容は変化するけど、視聴者(呼び出し元)から見れば「中の人」がスキーヤーだろうが格闘家だろうがレースドライバーだろうが、全てひとくくりに「ガチャピン」として扱うことが出来るので便利。
「自分が本当に理解しているか」を確認するために、授業内ではしばしば「自分の言葉で例える」という作業を行った。
またわからない点は個別にフォローしてくれるため、一歩一歩着実に進むことができた。