not yet日記

not yet日記

Java


関数と変数を1つにまグループ化したものをクラスと言います
下の例では(1)がクラスで、(2)が変数、(3)が関数になります。
Javaではグループ化された関数と変数のことをまとめて「メンバー」といいます。
メンバ変数を「フィールド」、メンバー関数を「メソッド」といいます。
List001

変数

メソッド
クラスにはフィールドに代入された値を使った演算やフィールドの値出力などさまざまな処理を記述できる。
これをまとめてメソッドという。
またフィールドとメソッドを合わせてクラスの「メンバ」という。

コンストラクタ
クラスからインスタンスを生成するときに使用されるものでインスタンスの初期化を行う役割を持っています。
コンストラクタは特殊なメソッドで以下のような特徴があります。
1.クラス名と同じ名前である。
2.クラスからインスタンス(オブジェクト)を生成する時に使用される
3.常に戻り値をもたない。voidの指定もしない決まりになっている。

インスタンス
インスタンスとは直訳すると「実体」ということになります。
クラスはあくまでクラスであってデータの入った実体ではないのです。
では、どうするのかというとまず(1)でクラスのインスタンスを作成し、(2)作成したインスタンスのメソッドを呼出すということになります。
List002
<豆>
Javaのコーディングは原則、クラスを作りそれをインスタンス化して利用すると思ってください。
なぜインスタンス化をいちいちしなくてはならないかというと
これによって1つのクラスから複数のインスタンスを作って利用できるからです。

カプセル化
カプセル化とはクラスを使う側に対して、見せる必要のないまたは見せたくないメンバを隠すことを指します。
外から操作されてもいい部分は見せて、操作されたくない部分はアクセス修飾子を使って他のクラスから見えないようにできます。
カプセル化=オブジェクトの中を隠蔽する とも表現したりします

継承
既存のクラスの機能を引き継いで、新たな別のクラスを定義することです。
似たクラスを作るときに共通部分を定義したクラスを「継承する」と宣言することで継承元のクラスをそのまま使用できます
継承を使うことで、同じ事を何度も書かずに済み、新しいクラスに独自部分だけを書けばよいということになります。
継承元のクラスを「親クラス、スーパークラス、基底クラス」と言い、継承クラスを「子クラス、サブクラス」と言ったりします。

多態性(ポリモーフィズム)
多態性とは、同じメッセージに対してオブジェクトごとに異なる振る舞いをすることで
「抽象クラス」や「インターフェース」などを利用してメソッドの呼び出し方法を共通化し
さらに「オーバーライド」させることで同じメソッドを呼び出しても、実際のインスタンス毎にその挙動を変化させようとするものです。


■ファイル入出力

■ArrayListとLinkedListの違い
ArrayListは単純に配列にオブジェクトが格納されていきます。
したがって配列の途中にadd、removeが起こると、配列の並べ替えを行います。
これは結構時間のかかる作業です。
最悪の場合、配列の要素の数だけ処理が起こります。
ただし、順に値をみていくときは速いです。

LikedListは内部的にはリストによってオブジェクトを管理していますので、配列の途中にadd、 removeが起こっても2ステップぐらい?で処理が完了します。
ただし、順に全部の値をみていくときは、構造が複雑なため、若干時間がかかります。

以下のような条件で使う分ければよいと思います。
ArrayList・・・単純に格納するだけ.参照する回数が非常に多い。
LinkedList・・・格納したり削除したりが多い。参照することは比較的少ない。


© Rakuten Group, Inc.
X
Mobilize your Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: