外国人の教育サイトJavascript-OOP


1.変数でJavaScriptオブジェクトを宣言する
対象に向かう前に、JavaScriptの対象を再認識させてください.
あなたのモトビケの対象にホイール、エンジン、座席の属性を与え、彼らの数を数字で表します.
var car = {
  "wheels":4,
  "engines":1,
  "seats":5
};

var motorBike = {
  "wheels":2,
  "engines":2,
  "seats":1
};
2.関数でJavaScriptオブジェクトを作成する
私たちは同じようにオブジェクトを作成するためにコンストラクターを使用することができます.
つの関数は大文字で始まる英語の名前で彼が構造関数であることを示しています.
たとえば:
var Car = function() {
  this.wheels = 4;
  this.engines = 1;
  this.seats = 1;
};
また例えば:
var Car = function() {
  this.wheels = 4;
  this.engines = 1;
  this.seats = 1;
};

var MotorBike = function() {
  this.wheels = 2;
  this.engines = 1;
  this.seats = 1;
};
3.オブジェクトのインスタンスを作成する
作成オブジェクトを使用するには、キーワードnewというオブジェクトが必要です.
var myCar = new Car();
マイカーという対象例は次のようなものです.
{ wheels: 4, engines: 1, seats: 1 }
今は、myCarという実例を通じて、オブジェクトに新しい属性を追加できます.例えば、
myCar.turboType = "twin";
4.構造関数を通して異なるオブジェクトを作成する
コンストラクションというのはいいですが、毎回同じ相手を作りたくないなら、どうすればいいですか?
この問題を解決するために,構造関数に参参参することができます.
var Car = function(wheels, seats, engines) {
  this.wheels = wheels;
  this.seats = seats;
  this.engines = engines;
};
私たちはオブジェクトを作ることができます.
var myCar = new Car(6, 3, 1);
5.対象属性を私有化する(prvated)
各オブジェクトには自分の属性があります.また、自分の関数があります.方法といいます.
上記では、オブジェクトの公有属性を記述するためにthisキーワードを使用します.
オブジェクト以外にアクセスできないプライベート属性と方法も作成できます.
私たちは、私有化のために、varキーを使って属性を宣言します.
例えば、私達はただ1台の車が減速する時そのスピードを変えたいです.
var Car = function() {
  //     private  
  var speed = 10;

  //    public  
  this.accelerate = function(change) {
    speed += change;
  };

  this.decelerate = function() {
    speed -= 5;
  };

  this.getSpeed = function() {
    return speed;
  };
};