0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Java】継承についてメモ

Posted at

継承

継承とは

**「もともとあるクラスを利用して、新しいクラスを生み出すこと」**です。
オブジェクト指向の勉強でもやりましたが、「このクラスはほとんど同じだけど、ここだけちがいます」っていうクラスをつくるときに使います。

スーパークラスとサブクラス

オブジェクト指向的にポケモンで考えてみます。
ポケモンという、「身長、体重、名前、タイプなどのデータをもったもの」のクラスを継承して、ハガネール というクラスを生み出した場合だと

  • スーパークラス(親クラス) = Pokemon クラス
  • サブクラス(子クラス) = Haganeel クラス

ということになります。

継承する方法

サブクラスを作成する時、以下のように「 extends スーパークラス名 」を記述して作ります。
そのあとで、以下のように「サブクラス にしか持っていない機能」を記述していきます。

class サブクラス名 extends スーパークラス名 {
     親クラスと違う処理
     ...
     ...   

と、指定します。
サブクラス は空っぽの状態でも、すでに親クラスのフィールドとメソッドを引き継いでいて、「スーパークラスとはどこがちがうか」を書き込んでいきます。

継承のメリット

主に以下の点が挙げられるかと思います。

  • 同じような機能を持つ重複したコードを書かないようになるので、コードの再利用性が高くなる。
  • メソッドを追加したり、オーバーライドすることができるので自由に拡張する。

逆に継承をしないデメリット

重複したコードを書くことで、このような問題がズルズルと増えていきます。

  1. 勘違いやミスやバグやを起こしてしまう可能性があり、メンテンスが難しくなる。
  2. 「機能の追加」や「改善」が難しくなり拡張性が下がる

効率よく少ないコードでプログラミングしないと、開発がどんどん難しくなり、コードを書くプログラマーにも大きな負担になります。

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?