オブジェクト指向 Javaスクリプト(OOJS)チュートリアルと例

OOPSコンセプトとは Javaスクリプト?

多くの場合、変数や配列だけでは実際の状況をシミュレートするには不十分です。 Javaスクリプトを使用すると、現実のオブジェクトのように動作するオブジェクトを作成できます。学生や家は、独自の多くのユニークな特性を持つオブジェクトになることができます。オブジェクトにプロパティとメソッドを作成して、プログラミングを簡単にすることができます。オブジェクトが学生の場合、名前、姓、ID などのプロパティと、calculateRank、changeAddress などのメソッドがあります。オブジェクトが家の場合、部屋の数、ペイントの色、場所などのプロパティと、calculateArea、changeOwner などのメソッドがあります。

オブジェクトの作成方法

次のようなオブジェクトを作成できます。

var objName = new Object();
objName.property1 = value1;
objName.property2 = value2;
objName.method1 = function()
{
line of code
}

OR

var objName= {property1:value1, property2:value2, method1: function()

{ lines of code} };

オブジェクトのプロパティとメソッドにアクセスする

次のようにオブジェクトのプロパティにアクセスできます。

objectname.propertyname;

次のようにオブジェクトのメソッドにアクセスできます。

objectname.methodname();

この例を自分で試してみてください。

<html>
<head>
	<title>Objects!!!</title>
	<script type="text/javascript">
      var student = new Object();
      student.fName = "John";
      student.lName = "Smith";
      student.id = 5;
      student.markE = 76;
      student.markM = 99;
      student.markS = 87;
      student.calculateAverage = function()
      {
      	return (student.markE + student.markM + student.markS)/3;
      };
      student.displayDetails = function()
      {
        document.write("Student Id: " + student.id + "<br />");
        document.write("Name: " + student.fName + " " + student.lName + "<br />");
        var avg = student.calculateAverage();
        document.write("Average Marks: " + avg);
      };
		student.displayDetails();
	</script>
</head>
<body>
</body>
</html>

OOPS コンストラクター

ただし、この種のオブジェクトを作成することは、ここでも生徒ごとに異なるオブジェクトを作成する必要があるため、あまり役に立ちません。 ここで、オブジェクト コンストラクターが登場します。 オブジェクト コンストラクターは、個々のインスタンスのニーズを満たすために再利用できるオブジェクト タイプを作成するのに役立ちます。

この例を自分で試してみてください。

<html>
<head>
	<script type="text/javascript">
		function Student(first, last, id, english, maths, science)
        {
          this.fName = first;
          this.lName = last;
          this.id = id;
          this.markE = english;
          this.markM = maths;
          this.markS = science;
          this.calculateAverage = function()
          {
         	 return (this.markE + this.markM + this.markS)/3;
          }
		  this.displayDetails = function()
		  {
            document.write("Student Id: " + this.id + "<br />");
            document.write("Name: " + this.fName + " " + this.lName + "<br />");
            var avg = this.calculateAverage();
            document.write("Average Marks: " + avg + "<br /><br />");
		  }
		}
        var st1 = new Student("John", "Smith", 15, 85, 79, 90);
        var st2 = new Student("Hannah", "Turner", 23, 75, 80, 82);
        var st3 = new Student("Kevin", "White", 4, 93, 89, 90);
        var st4 = new Student("Rose", "Taylor", 11, 55, 63, 45);
        st1.displayDetails();
        st2.displayDetails();
        st3.displayDetails();
        st4.displayDetails();
	</script>
</head>
<body>
</body>
</html>

オブジェクトのプロパティをループする

構文:

for (variablename in objectname)

{

lines of code to be executed

}

for/in ループ 通常、オブジェクトのプロパティをループするために使用されます。 任意の名前を付けることができます 変数ただし、オブジェクトの名前は、ループスルーする必要がある既存のオブジェクトの名前と同じである必要があります。

この例を自分で試してみてください。

<html>
<head>
	<script type="text/javascript">
		var employee={first:"John", last:"Doe", department:"Accounts"};
        var details = "";
        document.write("<b>Using for/in loops </b><br />");
        for (var x in employee)
        {
          details = x + ": " + employee[x];
          document.write(details + "<br />");
        }
	</script>
</head>
<body>
</body>
</html>