こんにちは、パキラです。
今回はJavaScriptを勉強して上で最初に勉強したオブジェクトについてまとめました。
プログラミングでは大変重要な要素です。
しかし私も100%理解しているわけではありませんので、ご了承ください。
オブジェクト
『object』とは物、物体、対象、目的、目標、おかしなもの、目的語、客観、客体という英単語。
コンピュータ上で操作や処理の対象となるさまざまな実体の総称をオブジェクトといいます。
例えば、操作画面上でアイコンなどの形で表示されるデータ集合や操作要素などが該当します。
プログラミングをする際は、データの集合しているプログラムということでいいかと思います。
オブジェクト指向
コンピュータプログラムの構造、構成法の一つで、関連するデータの集合体と、それを操作する手続きを『オブジェクト』と呼ばれるひとまとまりの単位として一体化し、オブジェクトの組み合わせとしてプログラムを記述する手法。
オブジェクトにはそれぞれ固有のデータ『プロパティ』と手続き『メソッド』があり、外部からのメッセージを受けて『メソッド』を実行し、データを操作する。
クラス
クラスはオブジェクトを具体的に使用するための設計図です。
設計図の中身はプロパティとメソッドで構成されています。
プロパティは、オブジェクトが持つ性質や属性のこと。
プログラム上では、クラスの中にプロパティの変数をあらかじめ設けておく。
メソッドはオブジェクト内のデータを操作するための振る舞いをまとめたものです。
メソッドと関数はとても似ています。
メソッドは、オブジェクトに関連付けられた名前で呼び出されるコードの一部です
。
関数は、名前で呼び出されるコードの一部です。データを渡すことができ、データを返すこともできます。
主流のクラスベースのオブジェクト指向プログラミングでは、オブジェクトの雛形を『クラス』(class)として記述し、これをプログラムの実行時に『インスタンス』として実体化し、データの保存や操作を行う。
インスタンス
インスタンスは、設計図であるクラスから作成されたオブジェクトです。
ひとつのクラスで、複数のオブジェクトを作成することができます。
上記のオブジェクトと同じですが、インスタンスはクラスを元に作成されてたオブジェクトです。
オブジェクト指向の3つの特徴
- カプセル化
- 継承
- ポリモーフィズム
カプセル化
カプセル化(encapsulation)は、オブジェクトやデータをカプセルのように保護するという意味からきています。
オブジェクトは外部に公開されたメソッドにより機能を提供する。
内部の状態を表す変数なども、外部から参照、操作が必要なものだけが専用の手続きによってアクセス可能となり、それ以外は外から見えない存在になる。
このように、関連するデータと手続きを一つの単位にまとめることで、外から直に参照や操作をする必要のない内部の状態や構造は秘匿される。
継承
クラス(親)に定義されているメソッドなどを他のクラス(子)で引き継ぎ、利用可能とする仕組みを指します。
ただし、JavaScriptの継承は元となるオブジェクトのプロトタイププロパティを、新しいオブジェクトのプロトタイプチェーンに組み込むことで、元となるオブジェクトの機能を使用可能にする仕組みを指します。
ポリモーフィズム
『polymorphism』日本語では多様性を指します。
- 『poly』多くの
- 『morphic』形態、形状、構造
- 『ism』考え方
ポリモーフィズムは、多くの形式で単一のアクションを実行する方法を提供します。
プログラムは、そのオブジェクトの実行ごとに必要な意味またh使用法を決定し、コードを複製する必要性を減らします。
まとめ
ここまで読んでいただき、ありがとうございました。
今回は、プログラミングをする上でオブジェクトやオブジェクト指向はとても重要な要素ということでまとめてみました。
正直、私はまだこのオブジェクトの理解が追いついておりません。
まだまだ勉強ですね。
もっと理解が深まって説明が上手になったら、また記事にしたいと思います。
ありがとうございました。
【A8.netに登録しよう!】
◇ 広告主数・アフィリエイトサービス数日本最大級☆
◇ 登録はもちろん無料、審査なしのアフィリエイトサービス☆
◇ 使いやすいサイトNO.1
⇒アフィリエイトならA8.net
コメント