見出し画像

「抽象クラス」と「インターフェース」 職業訓練30日目

下の方に学校での近況や学校のメリット記載してます。

「抽象クラス」とは?

abstract class クラス名で宣言します。

・特徴

①オブジェクトを生成できない。

②処理内容が定義されていないメソッド(抽象メソッド)を持っている。

・使い方

オブジェクトを生成することができないので、抽象クラスをスーパークラスとするサブクラスを作成し、継承する必要があります。そのサブクラスに抽象メソッドをオーバライドして使うという流れになります。

・抽象クラスを使う意味

抽象クラスはオブジェクトを生成することはできませんが、そのクラスの変数や配列を準備して、サブクラスのオブジェクトを指すことができます。また抽象クラスを拡張したサブクラスは抽象クラスが持つ抽象メソッドと同じ名前のメソッドを持っています。つまり、抽象クラスを使えばそのサブクラスを簡単にまとめて使うことができます。

「インターフェイス」とは?

インターフェースを使う意味は抽象クラスと同様の理由でサブクラスを簡単にまとめて使うための機能です。

抽象クラスとの違いとしては、そもそも抽象クラスのようなものを作る必要がなく、インターフェイスを宣言し、すでにあるクラスにインターフェイスを実装すると流れになります。

「インターフェイス」の宣言

interface インターフェイス名+メンバ

これで宣言完了です。

インターフェイスのメンバには修飾子をつけなくてもフィールドには「public static final」がつきます。またメソッドには「abstract」がつきます。

「インターフェイスの実装」

実装の方法は:クラス名 implements インターフェイス名です。   

こうすることでインタフェイス宣言の際に作ったメンバを全て引き継ぐ事になります。インターフェイスを実装したクラスのオブジェクトを生成するためには、引継いだ抽象メソッドを全て定義する必要があります。

----------------------------------------------------------------------------


早いもので職業訓練も30日過ぎました、ただ最初の15日は就職支援とエクセル、ワードの勉強だったので、Javaは2週間といったところでしょうか。テキストは「やさしいJava」を使用しています。来週中には全て終わる予定です。大体20日で本一冊をやるというペースです。恐らく独学でもこの辺までならできるのではないかと思います。

ただやはり学校のメリットとして、一緒に学ぶ人がいる事、疑問点を気軽に聞ける講師がいる事は大きいです。また通学期間は失業保険が支給されるので、勉強のみに集中できます。

つまり何が言いたいかというと、独学は可能です。ただ仕事の合間にやるとすると学習時間の確保が難しいぶん成長も遅いです。転職を考えているなら思い切ってやめて、お金をもらいながら半年でマスターして転職するのもありなのではないかという事です。

それではこの辺で失礼します。ありがとうございました。

この記事が気に入ったらサポートをしてみませんか?