Download presentation
Presentation is loading. Please wait.
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
カプセル化 見えない属性やメソッドを定義できる (情報隠蔽) 見えない属性を見たり変えたりするにはメソッドを利用する
Similar presentations
© 2024 slidesplayer.net Inc.
All rights reserved.