基礎構文班20回目 コンストラクタ 継承

Post on 24-Jun-2015

363 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

xmlpro's Java lecture. Number 20.

TRANSCRIPT

XMLPro 20 回目

1

ICPC お疲れ様です!!

1 年生のみなさんは 1 問目解けました?

なお私は出場しなかった模様 ()

2

本日の内容

クラス継承 extendsコンストラクタ

3

クラスとメソッドの復習がてら・・・

• このソースが実行できるような「 Student 」クラスを作成してくださ

4

コンストラクタ

5

コンストラクタ• コンストラクタとは「オブジェクトを

作ったとき必ず実行される部分を定義した部分」です

• ようは初期設定ができますよーってことで覚えといてください

6

書いてみて

7

← コンストラクタはこの処理の時点で実行されます

コンストラクタをつくろう修飾子 クラス名 (引数の型 引数名) {処理の内容}で作成できます

8

書いてみて• 赤枠の中がコンストラクタです

メソッドと同じように 引数の数によって

使い分けができます

9

継承

10

継承とは・・・• 元になるクラスを「スーパークラス」 (super class) 、

あるいは「基底クラス」「基本クラス」 (base class) などと呼び、新たに定義されたクラスを「サブクラス」(subclass) 、あるいは「派生クラス」 (derived class) と呼ぶ。

• スーパークラスの性質はすべてサブクラスに受け継がれ、サブクラスではスーパークラスとの違いを定義するだけでよい。複数のスーパークラスから新しいクラスを定義することを多重継承という。

11

• ようは継承すると「継承元のクラス」のメソッドやフィールドが「継承したクラス」で使えるようになります

12

いままでのこんなんだったよね 準備→メソッド呼び出し

13

いままでの

14

Sample_Normal クラス

  P p1 = new P();  p1.show();で P クラスの中の show メソッドにアクセス

P クラス-show() メソッド

↓ 中身

show() 呼び出し

実行結果

15

書いてみて

16

継承をやってみよう

   

エラー吐いてるよね? なぜ?

A_P クラスの中には  show() メソッドがないからです

17

いままでの

18

Sample_Extends クラス

  A_P p1 = new A_P();  p1.show();で A_P クラスの中の show メソッドにアクセス

P クラス-show() メソッド

A_P クラス この中には show メソッド  がない

 

show() 呼び出し

追加して「クラス名 extend s 継承したいクラス」

で継承を行うことができます

extends P追加でエラー消えたよね?

19

継承を行うと・・・

20

Sample_Extends クラス

  A_P p1 = new A_P();  p1.show();で A_P クラスの中の show メソッドにアクセス

P クラス-show() メソッド

A_P extends P A_P クラスは P クラスの機能全てが使えるクラス

中身 in!!

呼び出し

スーパークラス

サブクラス

実行結果• 継承を行ったことによって P クラスの中に

ある show() メソッドが使えます

21

おまけ  super. について[ 両方に同じメソッドがある場合 ]今度は A_P クラスの中にも show メソッドを作ってみてください ↓追記分 

そして実行してみると・・・

22

実行A_P クラスのメソッドが優先的に実行されるようになってます 

23

ここで・・・サブクラスにおいて、スーパークラスのインスタンスメソッドを参照したい場合に

「 super. メソッド名 (); 」

でスーパークラスのメソッドを呼び出すことができます

24

いろいろ追記

25

で実行

26

いままでの復習がてら・・・

27

問題• 生徒 2 人分の ID と名前と 3 教科の得点の

平均点を管理するクラスを作って、表示するプログラム 点数はキーボードから入力

ただし・・・・次の条件に従ってくださいな

28

条件• オブジェクトの配列使ってください

• コンストラクタ使ってください• 出力部分はメソッドを使ってください

29

top related