Presentation is loading. Please wait.

Presentation is loading. Please wait.

第7回放送授業.

Similar presentations


Presentation on theme: "第7回放送授業."— Presentation transcript:

1 第7回放送授業

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

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

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

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

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

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

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

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

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

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

12 属性 @y

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

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

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

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

17 #(続き) def draw # 本来,OSの図形を描くサブプログラムを呼び出し # putsの出力文は継続行 puts("draw circle: end #(続く)

18 #(続き) def erase # 本来,OSの図形を消すサブプログラムを呼び出し # putsの出力文は継続行 puts("erase circle: end

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


Download ppt "第7回放送授業."

Similar presentations


Ads by Google