第7回放送授業.

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 回 プログラミング言語の種類と歴史 第 2 回 eclipse の基本操作 第 3 回 eclipse のデバッグ機能 第 4 回 構造化プログラミングの復習 第 5 回 演習 第 6 回 構造化指向からオブジェクト指向へ.
ソフトウェア工学 理工学部 情報システム工学科 新田直也. 演習問題 1 の解答例  入庫処理の DFD 酒屋の在庫問題の DFD( 入庫処理 ) 更新情報 在庫ファイル 更新処理 倉庫係 在庫不足リスト 在庫ファイル 出庫指示書 新規出庫 判定 出庫指示書 作成処理 出庫依頼 積荷票.
ソフトウェア工学 知能情報学部 新田直也. オブジェクト指向パラダイムと は  オブジェクト指向言語の発展に伴って形成され てきたソフトウェア開発上の概念.オブジェク ト指向分析,オブジェクト指向設計など,プロ グラミング以外の工程でも用いられる.  ソフトウェアを処理や関数ではなくオブジェク.
6.4継承とメソッド 6.5継承とコンストラクタ 11月28日 時田 陽一
初年次セミナー 第13回 2次元グラフィックス(1).
初年次セミナー 第14回 2次元グラフィックス(2).
アルゴリズムとプログラミング (Algorithms and Programming)
Applet 岡部 祐典 鈴木 敬幸.
第4回 iPhoneアプリ開発勉強会 Objective-C 基礎講座 -クラス- 鷲見政明.
実行時のメモリ構造(1) Jasminの基礎とフレーム内動作
最適化ソルバーのための Python言語入門
第4回:ボールを画面内で弾ませよう! (オブジェクトの移動、二次元)
プログラミング演習3 第4回 ミニプロジェクト.
CHAPTER1 UMLとオブジェクト指向の基本概念(2)
アルゴリズムとプログラミング (Algorithms and Programming)
UMLの概要と オブジェクト指向の 基本概念
ピカチュウによる オブジェクト指向入門 (新版)
計算機プログラミングI 第8回 2002年12月5日(木) メソッドとクラス (教科書6章) クイズ インスタンスメソッド インスタンス変数
第6回独習Javaゼミ 第6章 セクション4~6 発表者 直江 宗紀.
オブジェクト指向 プログラミング 第十四回 知能情報学部 新田直也.
ソフトウェア工学 知能情報学部 新田直也.
オブジェクト指向基礎学習Ⅱ 平成20年7月1日 森田 彦.
JAVA入門後期⑩ 情報処理試験例題解説.
アルゴリズムとプログラミング (Algorithms and Programming)
オブジェクト指向 プログラミング 第八回 知能情報学部 新田直也.
オブジェクト指向 プログラミング 第十一回 知能情報学部 新田直也.
UMLの概要とオブジ工クト指向の基本概念 第2回
オブジェクト指向 プログラミング 第十三回 知能情報学部 新田直也.
プログラミング演習3 第3回 ミニプロジェクト.
オブジェクト指向 プログラミング 第二回 知能情報学部 新田直也.
第4回 javaのプログラミング 04A2029           古賀慎也.
オブジェクト指向プログラムにおける エイリアス解析について
TCanvas BCB:TCanvasクラスでグラフィックを扱う。 TFormなどもプロパティとして持っている。
プログラミング言語入門.
第11週:super/subクラス、継承性、メソッド再定義
演習1 : インターフェイスを使ってみよう 「10人の客(乗用車、バイク、ストーブのいずれかランダムに決定)に1~100(L)の給油をするガソリンスタンドをシミュレートする実行クラス : RefuelSimulation」を作成する。給油の際には、どの種類の客が何リットル給油したか出力すること。 実行結果例.
C#言語ソースプログラムの原型 C言語 C#言語 Hello World! Hello Students! オマジナイ! 適当なクラス名
オブジェクト指向言語論 第十一回 知能情報学部 新田直也.
オブジェクト指向言語論 第八回 知能情報学部 新田直也.
プログラミング基礎a 第12回 Java言語による図形処理入門(3) アニメーション入門
プログラミング基礎a 第11回 Java言語による図形処理入門(3) アニメーション入門
オブジェクト指向 プログラミング 第十ニ回 知能情報学部 新田直也.
オブジェクト指向 プログラミング 第二回 知能情報学部 新田直也.
オブジェクト指向言語論 第十一回 知能情報学部 新田直也.
ここに 表題や引用文が入る 背景への図の使用とキャプションへのテクスチャの適用 (中級)
第8回放送授業.
アルゴリズムとプログラミング (Algorithms and Programming)
プログラミング言語論 第十三回 理工学部 情報システム工学科 新田直也.
オブジェクト指向 プログラミング 第八回 知能情報学部 新田直也.
ソフトウェア工学 知能情報学部 新田直也.
オブジェクト指向言語論 第十二回 知能情報学部 新田直也.
プログラミング言語論 第十一回 理工学部 情報システム工学科 新田直也.
統合開発環境によって表現された 言語機構によるコードのモジュール化
計算機プログラミングI 第3回 プリミティブ値 クラスメソッド クラス変数 式と演算 変数の利用
Chapter 5 5.5 thisキーワード 5.6 インスタンス変数とインスタンスメソッド 結城 隆
プログラミング基礎a 第9回 Java言語による図形処理入門(1) Javaアプレット入門
オブジェクト指向言語論 第十一回 知能情報学部 新田直也.
オブジェクト指向言語論 第九回 知能情報学部 新田直也.
ソフトウェア工学 知能情報学部 新田直也.
オブジェクト指向言語論 第七回 知能情報学部 新田直也.
Javaとは Javaとはオブジェクト指向言語でJava VM(Java仮想マシン)と呼ばれるプログラム上で動作します。
スライドの終わりまでテキストが繰り返しスクロールされます • スライドの終わりまでテキストが繰り返しスクロールされます •
オブジェクト指向言語論 第六回 知能情報学部 新田直也.
サンプル見出し テキスト 1 行目 テキスト 2 行目 テキスト 3 行目 (中級) 図の背後でタイトルを移動させるアニメーション効果
オブジェクト指向言語論 第九回 知能情報学部 新田直也.
オブジェクト指向言語論 第十回 知能情報学部 新田直也.
計算機プログラミングI 第2回 2002年10月17日(木) 履習登録 複習 ライブラリの利用 (2.6-7) 式・値・代入 (2.6-8)
計算機プログラミングI 第10回 2002年12月19日(木) メソッドの再定義と動的結合 クイズ メソッドの再定義 (オーバーライド)
Presentation transcript:

第7回放送授業

「ソフトウェアのしくみ」

8 オブジェクト指向 プログラム言語(1)

8.1 オブジェクト指向 プログラム言語の考え方

クラス インスタンス 属性 メソッド オブジェクト 属性やメソッドを有するインスタンス

クラス 人類 インスタンス Aさん、Bさん、… 属性 身長、体重、… メソッド 走る、現れる、消える オブジェクト 属性やメソッドを有するインスタンス

クラス 窓 インスタンス 窓A、窓B、… 属性 サイズ、位置、… メソッド 現れる、消える、移動する、テキストを表示する、…

クラス 円図形 インスタンス 円A、円B、… 属性 位置、半径、色、縁の色、… メソッド 現れる、消える、移動する、半径を変える、色を変える…

8.2 継承、多様性、カプセル化

親子のような家系が作られる 点→円→楕円 ↓ 正方形→長方形→平行四辺形→多角形

継承 属性の継承 位置→+半径→+もう一つの径 メソッドの継承 位置の決定→+半径の決定→+もう一つの径の決定

属性 Figure @x, @y Circle @x, @y, @r

メソッド Figure initialize(x, y) pos Circle initialize(x, y, r) radius draw erase

多様性 上位と異なる動作をするメソッドも定義可

# 図形のスーパクラス(位置だけ保有) class Figure def initialize(x=0. 0, y=0 # 図形のスーパクラス(位置だけ保有) class Figure def initialize(x=0.0, y=0.0) @xorg = x @yorg = y end # 位置を知るメソッド def pos [@xorg, @yorg]

# 円のクラス(中心位置と半径+描画+消去) class Circle < Figure def initialize(x=0 # 円のクラス(中心位置と半径+描画+消去) class Circle < Figure def initialize(x=0.0, y=0.0, r=0.0) super(x, y) @r = r end def radius @r #(続く)

#(続き) def draw # 本来,OSの図形を描くサブプログラムを呼び出し # putsの出力文は継続行 puts("draw circle: org=[#{@xorg},#{@yorg}],radius=#{@r}") end #(続く)

#(続き) def erase # 本来,OSの図形を消すサブプログラムを呼び出し # putsの出力文は継続行 puts("erase circle: org=[#{@xorg},#{@yorg}],radius=#{@r}") end

カプセル化 見えない属性やメソッドを定義できる (情報隠蔽) 見えない属性を見たり変えたりするにはメソッドを利用する