chevron_left

メインカテゴリーを選択しなおす

cancel
未来エンジニア養成所Blog https://phoeducation.work/

プログラミングを皆に楽しんでもらうための情報をお届けします。 様々なプログラム言語やIT技術等について紹介していきます。知りたいことがあれば気軽にメールでもコメントでも質問していただきたいです。

まつい@未来エンジニア養成所
フォロー
住所
未設定
出身
未設定
ブログ村参加

2021/02/27

arrow_drop_down
  • 【Java】内部クラス Part1

    内部クラスとは ネストクラス 参考図書 内部クラスとは 内部クラスとは、クラスの中に定義されたクラスのことを指します。 内部クラスを利用することで、クラス間の関係がわかりやすくなり、ソースコードがシンプルになり、可読性が増します。 また、使用場所を限定し、その存在を外部から隠したい場合にも使用します。 内部クラスの必要性 ここでMyObj クラスがMain以外のクラスからは使われないとします。 すると、少し不便なことが出てきます。 もし他にMyObjというクラスを作りたい場合、クラス名がすでに使われているため作成することが出来ません。 それは片方のMyObj.classによってもう片方のMyO…

  • 【Java】インターフェース

    インターフェース インターフェースの継承 まとめ 参考図書 インターフェース 前回では抽象クラスの解説をおこないました。 その抽象クラスのさらに特殊なものが「インターフェース」です。 インターフェースは「interface」キーワードを利用して宣言します。 以下がインターフェースの例です。 public interface Vehicle{ public void start( ); public void stop( ); } これは「乗り物」を表すクラスですが、何の機能も実装されていません。 インターフェース内のメソッドは抽象クラスの抽象メソッドと同じです。 ただ抽象クラスは抽象メソッド以…

  • 【Java】抽象クラス

    インスタンスを生成しないクラス 抽象メソッドと抽象クラス 特化と汎化 まとめ 参考図書 インスタンスを生成しないクラス ポリモーフィズムを使うことにはさまざまな利点があります。 例えば以下のような状況を考えてみましょう。 犬クラスと猫クラスがあり、それぞれ「鳴く」という機能bark( )メソッドがあります。 動物であることは一緒なのでAnimalクラスを作りました。 これでポリモーフィズムを用いて一緒に扱えます。 さっそく次のコードで確認してみましょう。 【インスタンスを生成しないクラス】 Animalクラス public class Animal{ public void bark( ){ …

  • 【Java】ポリモーフィズム

    ポリモーフィズムとは オブジェクトのキャスト メソッドの動的結合 まとめ 参考図書 ポリモーフィズムとは 前までの記事で扱ってきたSalarymanクラスはHumanクラスを継承していました。 当然、Humanクラスの機能をすべて持っています。 そのため、Salarymanクラスで新たに定義したメンバや、Salarymanクラスであることを無視してHumanクラスのオブジェクトとして扱うこともできます。 例えば、以下のような書き方ができます。 Human taro = new Salaryman( ); これは「SalarymanのインスタンスをHumanとして扱う」ということです。 newが…

  • 【Java】メソッドのオーバーライド

    メソッドのオーバーライド オーバーライドされたメソッドの呼び出し 継承とfinal まとめ 参考図書 あわせて学習したい メソッドのオーバーライド 継承をすると、スーパークラスのメンバをすべて利用することができます。 privateの場合は直接アクセスできませんが、メンバとして持ってはいます。 ここで、スーパークラスが持っているメソッドと同じ名前のメソッドを記述できるでしょうか? 例えば、前回書いたサンプルのクラスSalarymanにselfIntroduce( )というメソッドを記述するとどうなるでしょうか。 結論を言うと、同じ名前、引数のメソッドでもクラスが違えば定義することができます。 …

  • 【Java】継承 Part3

    継承について2回にわたって解説しました。 phoeducation.work phoeducation.work 今回は最終回です。 継承時のコンストラクタ まとめ 参考図書 あわせて学習したい 継承時のコンストラクタ 前回のプログラムを再度見てみましょう。 public class Human{ private String name; private int age; private double height; public Human( ){ System.out.println("引数なしコンストラクタが呼ばれました!"); } public Human(String n, int …

  • 「プログラムはなぜ動くのか」をよもう!

    「プログラムはなぜ動くのか」について どんなことが書いてあるか 第1章 プログラマにとってCPUとはなにか 第2章 データを2進数でイメージしよう 第3章 コンピュータが小数点数の計算を間違える理由 第4章 四角いメモリーを丸く使う 第5章 メモリーとディスクの親密な関係 第6章 自分でデータを圧縮してみよう 第7章 プログラムはどんな環境で動くのか 第8章 ソース・ファイルから実行可能ファイルができるまで 第9章 OSとアプリケーションの関係 第10章 アセンブリ言語からプログラムの本当の姿を知る 第11章 ハードウエアを制御する方法 第12章 コンピュータに「学習」をさせるには まとめ 「…

  • 【Java】継承 Part2

    前回に続いて「継承」について解説します。 phoeducation.work 継承関係におけるメンバアクセス クラス間の関係 参考図書 あわせて学習したい 継承関係におけるメンバアクセス protectedアクセス指定 スーパークラスはサブクラスの情報を知る必要はありませんし、利用することもできません。 逆に、サブクラスではスーパークラスのメンバをすべて持っている、と考えられます。 しかし、持っていてもアクセスできないメンバもあります。 privateなメンバは「そのクラス内のみ」に有効なので、たとえSalarymanがHumanクラスを継承していても、Humanクラスのprivateなフィー…

  • 【Java】継承 Part1

    なぜ継承が必要なのか 継承とは 参考図書 あわせて学習したい なぜ継承が必要なのか ここまではクラスの使い方を学びました。 例えばHumanクラスというものを使用していましたが、場合によってはこのクラスをちょっと改良したい、という場合があります。 Humanクラスの機能は使えるので問題ないが、もう少し機能が欲しいという感じです。 例えば、Salarymanというクラスが欲しかったとします。 【継承を使わない例】 Humanクラス public class Human{ private String name; private int age; private double height; pu…

  • 簡単に「論理的思考」を身につける

    論理的思考を身に付けよう 覚えるのはただひとつ 流れを省略しないで まとめ 論理的思考を身に付けよう 論理的思考はなぜ必要なのでしょうか? 最近ではプログラミングの学習が小学校から必須科目になるなど、これも論理的思考を身に付けるための学習ですね。 仕事において論理的思考が必要になるのは「相手を納得させるため」です。(決して「相手を論破する」ためではありませんよ。) 相手を納得させるためには、いわゆる「ロジカルシンキング」とか「MECE」とか「ロジックツリー」とかの難しいことがありますが、ここでは一切触れません。 気になる方は別途学習してみてくださいね。 覚えるのはただひとつ ここで覚えて欲しい…

  • 【Java】参照型 Part 2

    前回に引き続き参照型のなかでも、配列について確認していきます。 前回の記事はこちら。 phoeducation.work 配列の正体 多次元配列 コマンドライン引数 まとめ 参考図書 あわせて学習したい 配列の正体 配列は一つの変数名で複数のデータを管理する仕組みでしたね。 実は、配列の正体はオブジェクトなのです。 言い換えると、配列は参照型です。 紛らわしいことに、配列の要素は普通の変数でも参照型でも構いません。 【配列】 public class ArraySample01{ public static void main(String[ ] args){ int[ ] a = new i…

  • 【Java】参照型 Part 1

    参照型変数とは 参照型変数の特性 まとめ 参考図書 あわせて学習したい 参照型変数とは 変数宣言しただけのオブジェクトはインスタンスを持ちません。 newによってインスタンス化してはじめてデータを扱うことができます。 では、宣言した変数はいったい何を意味するのでしょうか? これは「参照型変数」と言い、インスタンスのアドレス(場所)を格納しています。 【参照型変数の値の確認】 public class Sample2{ public static void main(String[ ] args){ SomeObject obj1 = new SomeObject( ); System.out.…

  • 【Java】コンストラクタ

    オブジェクトの初期化とコンストラクタ コンストラクタの利用 1 コンストラクタの利用 2 デフォルトコンストラクタ まとめ 参考図書 あわせて学習したい オブジェクトの初期化とコンストラクタ 「カプセル化」では、クラスにゲッターとセッターを実装することを学びました。 phoeducation.work これによりprivateにしたフィールドでも他のクラスから値を与えることができます。 しかし、もしフィールドがたくさん、例えば100個あったらどうしましょうか? オブジェクトを1つ作るたびにセッターを100回呼ばなければなりません。 値を設定しなければ自動的にデフォルトの引数が設定されますが、i…

arrow_drop_down

ブログリーダー」を活用して、まつい@未来エンジニア養成所さんをフォローしませんか?

ハンドル名
まつい@未来エンジニア養成所さん
ブログタイトル
未来エンジニア養成所Blog
フォロー
未来エンジニア養成所Blog

にほんブログ村 カテゴリー一覧

商用