未分類

Java2

投稿日:

 今日はjava三昧でしたので、そのアウトプットをしようと思います。javaはオブジェクト志向言語でこのオブジェクト志向というのはより楽に開発するように使う機能ごとに分けて開発を行っていく考えで、新しく開発される言語はこれを真似ることが多いです。今回はそのなかでも、継承について学習しました。継承とは、他のクラスのフィールドやメソッドをそのまま使って、それにプラスして新しくメソッドなどを追加したい場合に重複する記述を避けるためや、修正を簡易にできるようにするために行います。具体的には、継承元のクラスを親クラスとして、子クラスを宣言する末尾にextends.親クラス名とすることで親クラスに書かれている記述を使えるようになります。継承のルールとして、親クラス is a 子クラス、「子クラスは親クラスの一種である」という条件を満たす必要がります。継承をすることによって、どんどん抽象的から具体的になっていきます。ですがここで問題が生じることになります。親クラスを決める際に、どのメソッドを使うかまでは記述できるが、内容が子クラスによって変わるので記述することができないという状況が起こります。最初から書かなければいいという風に思うかもしれませんが、その子クラスに必須の条件の場合に、うっかり書き忘れてしまったという状況が考えられます。コメントに残すなど、解決策は思いつきますが、人間はミスをする生き物なので、ミスを起こさせない環境を作る必要があります。そこで抽象クラスの出番です。抽象クラスとは、どういうメソッドを使うのかは決まっているが、中身が子クラス毎に異なるので定義することができないけど、あとで子クラスを作った際にメソッドの記述忘れを避けるために使います。どのように記述するのかというと、そのメソッドの宣言の際にpublicの後にabsracktを入れます。こうすることによってそのメソッドの中身を記述する必要がなくなり、子クラスを作成したときに記述できるようになります。この抽象メソッドを使った際にはクラスを抽象クラスにする必要があり、このクラスではインスタンスを生成できません。この抽象クラスを継承して抽象メソッドの中身を記述し、抽象メソッドをなくせばインスタンスとして生成可能になるので、記述忘れを防ぐことができます。さらに抽象クラスでは、抽象メソッドだけの記述の際にインターフェースとして扱うことができます。インターフェース化をすることによって複数のインターフェースを同時にimprementsでそのメソッドを定義することができます。もう一つ学んだことに多態性があります。これはザックリとオブジェクトを扱うことで記述を簡単にしたり、一つの記述で様々な動作を行わせるようにする考えです。具体的には、インスタンスを生成する際に変数の型をザックリしたものにすることで、その型に入れたインスタンスを一気に取り扱うことができるようにします。少し長くなりましたが、こんなところで。

 今日ずっとjavaを勉強するつもりでしたが、途中でサボってしまいました。そこのアウトプットを無理やりします。まずギターを触ってしまったことがことの発端です。ギターでzazenboysのkimochiを練習してしまいました。そこからYouTubeでkimochiの動画を見てしまい、かっこいいなと思いました。やっぱり音楽はいいですね。そこから少し挽回しようと新井典子さんがゲストに出ていたrethinkというイベントの動画を見ていました。今回は教育についての問題なのですが、思わずハッとしてしまう内容だったので、少しそれについて書きます。今日本の教育が問題になっています。今の子は読解力がないということが問題視されていました。文を理解することができないので、生産性が悪く、要らぬ時間を費やしているということです。これは今からでも必要になってくるので意識して読書していこうと思います。新井さんはtwitterでfollowしているのですが、動画で見てみるとすごい楽しそうな人でした。信じれると思いました。

 最後は今読んでいる本の内容を少し。「水の不思議」を見ているのですが、この水は生物に必要不可欠だということがわかりました。人間には栄養素や酸素を運ぶために必要だし、植物には太陽光エネルギーの掃き溜め口として熱せられるのを冷やし、さらに土から養分を運ぶ働きがあることがわかりました。この水は地球上を循環しているのですが、今までは微生物がいい具合に分解してくれていたおかげでそのまま飲んだりすることができたのですが、今は化学薬品に頼っています。以上です。

-未分類

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

プログラミングについて

プログラミングの本を読みました。今回は実際の処理の裏側で動いている処理を学びました。コンピュータは0と1しか認識できません。人間がプログラムで書く文章を0と1に変換する機能をアセンブラやコンパイラが担 …

no image

テックキャンプのメンバーと

今日はテックキャンプのメンバーとご飯を食べに行ったのでその話と読んだ本の話をします。 生命とは  生物学者の福澤伸一さんとエッセイストの阿川佐和子さんの対談する本で生物がエントロピー増大の法則に抗って …

no image

プロジェクトマネジメント

プロジェクトとは 一つの目標を達成するための業務の集合をいいます。特徴として期限と目標が決められており、プロジェクトを細かくした複数のタスクから構成されています。通常の業務との違いは明確な期限が決めら …

no image

最近よく寝ています

 東京から帰ってからというもの睡眠時間が多くなってきました。私の平均睡眠時間は八時間程度なのですが、東京から帰ってきてから毎日10時間寝ています。もうすぐ冬眠するかもわかりません。さて今日は朝起きて「 …

no image

php

 今日からPHPの学習をはじめました。PHPはwebアプリケーションを作るのに必要なプログラミング言語でrubyと同じくらい使われています。基本的にはjavaと同じように使うことができるみたいで、新し …

PREV
java
NEXT
Java3