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 クラスの中で最初に読まれる関数

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

2017-08-03
formのinputでmaxlengthを使うとFirefoxでバグってた。他のブラウザでも気づかずにバグってたかもしれない。
2017-07-19
折れ線グラフをもう少しゆるやかに・・・というか何というか・・・調べていくと「移動平均」っていう言葉にたどり着いた
2017-07-10
FuelPHPの1.8をダウンロードして使っていたらセッションが使えないということに気付いた。
2017-06-27
MACにWin10をインストールしてみた:再挑戦。
2017-06-25
「簡単」っていうヤツらが多いけど・・・難しいぞ。