Objektově orientovaný JavaVýukový program skriptů (OOJS) s příkladem
V čem je koncept OOPS JavaSkript?
Proměnné nebo pole často nestačí k simulaci reálných situací. JavaSkript vám umožňuje vytvářet objekty, které se chovají jako objekty skutečného života. Student nebo domov může být objekt, který má mnoho vlastních jedinečných vlastností. Pro snazší programování můžete pro své objekty vytvořit vlastnosti a metody. Pokud je vaším objektem student, bude mít vlastnosti jako křestní jméno, příjmení, id atd. a metody jako vypočítejte Rank, changeAddress atd. Pokud je vaším objektem domov, bude mít vlastnosti jako počet místností, barvu nátěru, umístění atd. a metody jako vypočítejte oblast, změnit vlastníka atd.
Jak vytvořit objekt
Můžete vytvořit objekt takto:
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} };
Přístup k vlastnostem a metodám objektu
K vlastnostem objektu můžete přistupovat takto:
objectname.propertyname;
K metodám objektu můžete přistupovat takto:
objectname.methodname();
Zkuste tento příklad sami:
<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 konstruktor
Ale vytváření objektů tohoto druhu není tak užitečné, protože i zde budete muset vytvořit různé objekty pro různé studenty. Zde přichází konstruktor objektů do obrazu. Konstruktor objektu vám pomůže vytvořit typ objektu, který lze znovu použít, aby vyhovoval potřebám jednotlivé instance.
Zkuste tento příklad sami:
<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>
Procházet vlastnosti objektu
Syntaxe:
for (variablename in objectname) { lines of code to be executed }
Pro/v a smyčka se obvykle používá k procházení vlastností objektu. Můžete dát libovolný název proměnlivý, ale název objektu by měl být stejný jako název již existujícího objektu, který potřebujete procházet.
Zkuste tento příklad sami:
<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>