こんにちは。コードキャンプ株式会社が運営するプログラミングスクール「CodeCamp(コードキャンプ)」でプログラミングを学習している高橋です。
私が受けているコースは「Javaマスターコース」。Javaは、数あるプログラミング言語の中でも、日本国内において、特に求人案件数が多い言語です。CodeCamp(コードキャンプ)の「Javaマスターコース」では、Javaエンジニアには必須の「オブジェクト指向」から、「JSP/サーブレット」「データベース連携」まで、Javaを用いてWebアプリケーションを開発するために必要な知識を基礎から実践まで学びます。
受講回数は2ヶ月(20回)、4ヶ月(40回)、6ヶ月(60回)の3つから選べます(今回は2ヶ月間受講します)。
それでは、2018年11月2日に受講した、Codecamp(コードキャンプ)「Javaマスターコース」第5回目の学習内容をレビューします。
目次
Javaマスターコース5日目|CodeCamp(コードキャンプ)
本日の講師は顔出しNGでした。
第5回目のレッスンで学んだことは以下の内容です。
CodeCamp(コードキャンプ)Javaマスターコース第5回目のレッスン内容
-
第12章課題(抽象クラスとインターフェース)の答え合わせ
-
第13章の答え合わせ
今回は、受講までにJavaマスターコース第12章の課題である「抽象クラスとインターフェース」と13章の課題「ポリモーフィズム」までを予習しました。
1.第12章課題(抽象クラスとインターフェース)の答え合わせ
今回の課題は仕様書に従ってクラスを作成するというものでした。
クラス階層 イメージ
仕様書(一部)
第12章の課題を作成してみたので、ご確認をおねがいします!
FigureクラスからCircleクラスまではできていますね、Polygonクラスについてはどうでしょうか。
自分で作ったPolygonクラス
※メソッドdraw()、perimeter()についてはShapeで宣言済
しかしこのメソッドについて、Polygonクラスではabstractのままで、何の実装も与えていません。こういった場合には、このクラスでわざわざ書く必要は実はありません。コメントアウトしてみましょう。
コメントアウトしてみた
一応カプセル化を図ってみました!
でも、今回は前回と違ってprotectedになっています。仕様書に指定されてのでこう書いてみましたが、getterやsetterは必要ないでしょうか。
この修飾子がついていると、自分自身及びサブクラスから参照が可能になります。…というのは教科書の説明なんですが、自分の属する同じパッケージのクラスから直接参照が可能になっています。
結構広いんですね(笑)
いらないものを除いたら大分すっきりしました!
どういう判断でprivateやprotectedの使い分けはすればよいでしょうか?
そのへんば現場のプロジェクトの規約で決まっていることが多いので、現場次第で変わるというのが実情ですね。
2.第13章の答え合わせ
問題文と実行例
出力したいものを入力
例えば2を入力するとLineクラスについてメソッドdraw()起動
円や線といったものも、Shapeの一部です。これを全部Shapeとして扱うことで、メソッドをSwitch文の外側に出してみましょう。
仮にnullをいれてFigure型shapeを宣言
ShapeはFigure型なので、LineやCircle型のものも入れることができる。
Switch文の外に書くことで行数が節約できました。
次にわからないところがあって、教科書ではInstanceofの解説もありましたが、どのように用いればよいでしょうか。
これはInstanceofを利用することで、「ShapeがPolygonクラスの場合のみ内角の和を表示する」というプログラムを書くことができます。
最初にFigureクラスで代入して、その後ダウンキャストやinstanceOfといったものを活用することで、種類のちがうものをまとめて扱うことできました!これはとても便利ですね。
結構ややこしい上に、説明を読んでいるだけでは何がうれしいのか若干見えづらいところがあります。前準備が大変なんですが、それができてしまうと今回のように、すごく楽にコードが書けるモノです!
今後のコーディングに生かしていければと思います!本日はありがとうございました!
Javaマスターコース5日目の成果と課題|CodeCamp(コードキャンプ)
第5回を受講して学んだことと、次回に向けた課題について整理します。
- 抽象クラスとインターフェース
- ポリモーフィズム
今回は「抽象クラスとインターフェース」、「ポリモーフィズム」を学びました。
授業では13章の課題を終えることができたので、第6回に向けて、下記の課題に取り組みます。
- 実行すると最初に現在のリストが表示されます。
- 書籍を繰り返し登録することができるようにします。
- 登録しようとした書籍データで書籍名と著者名が同じものが登録済みの場合は、追加できないものとします。
- また、書籍は最大5冊まで登録できるものとします。空きスペースがなくなったらプログラムを終了します。
出典:CodeCamp(コードキャンプ)「Javaマスターコース」教材
Javaマスターコース5日目の感想|CodeCamp(コードキャンプ)
今回も、予習の段階では完全には教科書の内容が頭の中で整理できていなかったので、先生の解説によりポリモーフィズムへの理解を深めることができました。
今後、プログラムを書く際にはポリモーフィズムの利用ができないか設計段階で考えて、より省力的なコーディングを心がけていきたいと思っています!
CodeCamp(コードキャンプ)の「Javaマスターコース」とは
CodeCamp(コードキャンプ)の「Javaマスターコース」は、Javaエンジニアになるために必要な知識を基礎から実践まで学べるコースです。
>>無料体験レッスン受講で10,000円OFFクーポンプレゼントキャンペーン実施中
CodeCamp(コードキャンプ)「Javaマスターコース」の料金
2ヶ月 |
|
4ヶ月 |
|
6ヶ月 |
|
現在は全く別の業界で働いていますが、今後はシステムエンジニアとしてのキャリアに進もうと思っています。その準備として、JavaマスターOLコースでJava開発の基礎を学んでいきます!