クラス、インターフェース、メソッド、継承、多態性

ここで学習することは、なんとなくの理解で良しとする。
そうでないと、完璧を目指しても迷子になるだけ!!
まずは、コードを書いて覚えていくことを優先する方が良い!!

クラス

public final class Main「クラス」 extends JavaPlugin「クラス」 implements Listener 「クラス」{

  • いろんな名前をつけることができる。
  • 最初の文字は、大文字にすることが多い。
  • 基本的にファイルと紐づいている
  • インナークラスと言って、クラスの中にクラスをもつこともできる。
  • クラスは、必ずファイルと一致しておかなければならず、名前が違うとエラーとなる。
  • publocはありとあらゆるところから見える。
    (publoc をつけると誰からアクセスしてもいいよ!という意味になってしまう。)
    (誰でも使わないほうが良いかは、つけるときに判断するようにする。)
  • privateは、そのクラスの中でしか見れない。
  • 何をするものなのかを明確にする名前にする必要がある。
publicや private は、アクセス修飾子と呼ばれる。

メソッド

public void onPlayerToggleSneak(PlayerToggleSneakEvent e) throws IOException → シグネチャという。

  • どうやって実現するのかを定義するもの。
  • 単一責任の法則(クラスの中には、一つのメソッドにしよう!)
    メンテナンスしやすくするため!!
  • クラスがもつ役割を果たすために必要な機能の詳細を書く。

    void = 返り値なし(実行して終わり)
    onPlayerToggleSneak = メソッド名
    PlayerToggleSneakEvent e= 引数(イベントを取ってくる)(複数定義できる)
    e = 変数(引数名)
    throws IOException = どんな例外を投げる可能性があるのか??

インターフェース

public void onEnable()

  • 定義だけ書かれたもの。
  • 処理の内容が書かれていない。
  • 処理の内容を誰かに委ねている。
  • これにより作れるものを「フォリモーフィズム」という。(いろんな形になれる)
  • 実装する場合は、これを呼び出して、上書きして実装していくというイメージ。
  • @Override = 上書きするという意味。(上書きすると宣言する)

継承

spgotやマインクラフトなどが提供してくれているものを使って、簡単な処理を書き込むことで処理を実行できるようになるというイメージ。??
(用意してくれているものをつなげていって動かす??という意味のようなイメージとここでは捉えます???)

他と違うのは、中身があるということ。
しかし、上書きすることもできる。

その他の文言解説

  • abstract class = 抽象クラス(このクラス単体では動きませんという意味
    (一部は実装しているけれども、一部は定義だけ)
    あまり使われることはないが、フレームワークなどの共通部分で使われる。
  • オーバーロード = メソッド名は一緒だけれども引数が違うものを記述できてしまうこと。
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


目次