js オブジェクト指向:クラス作成などの基本

2012/06/24

クラス作成

  1. <script type="text/javascript">
  2.   // 単純なクラスを定義:ここでは「SimpleObjects」って名前にしてみる
  3.   var SimpleObjects = function()
  4.   {
  5.   };
  6. </script>

プロパティ作成(クラス内での変数)

下記では、引数を使ってプロパティを作成。
引数を使わず適当な値をいれるってのもアリ。

  1. <script type="text/javascript">
  2.   // 単純なクラスを定義:ここでは「SimpleObjects」って名前にしてみる
  3.   var SimpleObjects = function(soT)
  4.   {
  5.     // プロパティ:このクラス内用の変数
  6.     this.soText = soT;
  7.   };
  8. </script>

メソッド作成(クラス内での処理(関数みたいなヤツ))

メソッド内では、プロパティが使えるから特別に戻り値も引数も不要。
戻り値は必要に応じて使うってのもアリか。

  1. <script type="text/javascript">
  2.   // 単純なクラスを定義:ここでは「SimpleObjects」って名前にしてみる
  3.   var SimpleObjects = function(soT)
  4.   {
  5.     // プロパティ:このクラス内用の変数
  6.     this.soText = soT;
  7.     
  8.     // メソッド
  9.     this.soOutput = function()
  10.     {
  11.       document.write(this.soText);
  12.     }
  13.   };
  14. </script>

インスタンス作成(クラスを使うための宣言(初期設定?))

作ったクラスを使えるようにする(インスタンス化(インスタンスの作成))。
要は「new」を使うってことか。

  1. <script type="text/javascript">
  2.   // 単純なクラスを定義:ここでは「SimpleObjects」って名前にしてみる
  3.   var SimpleObjects = function(soT)
  4.   {
  5.     // プロパティ:このクラス内用の変数
  6.     this.soText = soT;
  7.     
  8.     // メソッド
  9.     this.soOutput = function()
  10.     {
  11.       document.write(this.soText);
  12.     }
  13.   };
  14.  
  15.   // インスタンス化
  16.   var runSimpleObject = new SimpleObjects("newでインスタンス作成");
  17. </script>

実行?

インスタンス化したらクラス内の関数(メソッド)が使えるようになる。

  1. <script type="text/javascript">
  2.   // 単純なクラスを定義:ここでは「SimpleObjects」って名前にしてみる
  3.   var SimpleObjects = function(soT)
  4.   {
  5.     // プロパティ:このクラス内用の変数
  6.     this.soText = soT;
  7.     
  8.     // メソッド
  9.     this.soOutput = function()
  10.     {
  11.       document.write(this.soText);
  12.     }
  13.   };
  14.  
  15.   // インスタンス化
  16.   var runSimpleObject = new SimpleObjects("newでインスタンス作成");
  17.   
  18.   // 作成したインスタンス内のsoOutputメソッドを実行
  19.   runSimpleObject.soOutput();
  20. </script>

基本、PHPのクラスと似たような感じ。
参考:
オブジェクト指向について
PHP オブジェクト指向の記述について
php クラスの中のメソッドについて
php クラスの中で最初に読まれる関数

新着(ニュース関連以外)

2018-07-26
年賀状で「新春」とか書くけど・・・何故なんだろうと8月を目前にした今、疑問に思った。
2018-05-16
PHPで画像のヘッダ情報(?)の「Orientation」を元に画像回転させたい。
2018-03-05
Android Studioをインストール。エミュレータを軽くするトコまで終わらせたかったけど、挫折した。
2018-02-23
プッシュ通知について調べてた時にでてきたServiceWorker。そのServiceWorkerについてのメモ。
2017-12-13
jqueryで取得したDOM要素をオブジェクトじゃなくて、配列で受け取りたい