抽
象
ク
ラ
ス
に
つ
い
て
ク
ラ
ス
動
物
void
鳴
き
声
{
ガ
オ
ガ
オ
!
}
ク
ラ
ス
犬
:
動
物
void
鳴
き
声
{
ワ
ン
ワ
ン
!
}
ク
ラ
ス
動
物
abstract
void
鳴
き
声
{
ガ
オ
ガ
オ
!
}
ク
ラ
ス
動
物
abstract
void
鳴
き
声
{
ガ
オ
ガ
オ
!
}
ク
ラ
ス
動
物
void
鳴
き
声
{
ガ
オ
ガ
オ
!
}
ク
ラ
ス
犬
:
動
物
ク
ラ
ス
犬
:
動
物
override
void
鳴
き
声
{
ワ
ン
ワ
ン
!
}
ク
ラ
ス
犬
:
動
物
実
行
結
果
実
行
結
果
実
行
結
果
実
行
結
果
ガ
オ
ガ
オ
!
ガ
オ
ガ
オ
!
ガ
オ
ガ
オ
!
ワ
ン
ワ
ン
!
「
鳴
き
声
」
の
実
行
結
果
ク
ラ
ス
動
物
abstract
void
鳴
き
声
= 0;
}
ク
ラ
ス
犬
:
動
物
override
void
鳴
き
声
{
ワ
ン
ワ
ン
!
}
実
行
結
果
ワ
ン
ワ
ン
!
抽
象
ク
ラ
ス
に
つ
い
て
②
ク
ラ
ス
動
物
~
動
物
{
ガ
オ
ガ
オ
!
}
ク
ラ
ス
犬
:
動
物
~
動
物
{
ワ
ン
ワ
ン
!
}
ク
ラ
ス
動
物
abstract
~
動
物
{
ガ
オ
ガ
オ
!
}
ク
ラ
ス
動
物
abstract
~
動
物
{
ガ
オ
ガ
オ
!
}
ク
ラ
ス
動
物
~
動
物
{
ガ
オ
ガ
オ
!
}
ク
ラ
ス
犬
:
動
物
ク
ラ
ス
犬
:
動
物
~
動
物
{
ワ
ン
ワ
ン
!
}
ク
ラ
ス
犬
:
動
物
実
行
結
果
実
行
結
果
実
行
結
果
実
行
結
果
ガ
オ
ガ
オ
!
ガ
オ
ガ
オ
!
ガ
オ
ガ
オ
!
ワ
ン
ワ
ン
!
「
鳴
き
声
」
の
実
行
結
果
ク
ラ
ス
動
物
abstract
~
動
物
= 0;
}
ク
ラ
ス
犬
:
動
物
~
動
物
{
ワ
ン
ワ
ン
!
}
実
行
結
果
ワ
ン
ワ
ン
!