在Jscript中定義類通過類聲明, 包含方法和對象和var 聲明。對于類的派生通過下面兩個程序的對比,你講清楚地明白。 JScript 5.5 Code // Simple object with no methods function Car(make, color, year) { this.make = make; this.color = color; this.year = year; } function Car.PRototype.GetDescription() { return this.year + " " + this.color + " " + this.make; } // Create and use a new Car object var myCar = new Car("Accord", "Maroon", 1984); print(myCar.GetDescription()); JScript.NET Code // Wrap the function inside a class statement. class Car { var make : String; var color : String; var year : int; function Car(make, color, year) { this.make = make; this.color = color; this.year = year; } function GetDescription() { return this.year + " " + this.color + " " + this.make; } } var myCar = new Car("Accord", "Maroon", 1984); print(myCar.GetDescription()); Jscript.net還支持定義private和protected property通過GET和SET進行讀寫。 如下例: class Person { private var m_sName : String; private var m_iAge : int; function Person(name : String, age : int) { this.m_sName = name; this.m_iAge = age; } // Name 只讀 function get Name() : String { return this.m_sName; } // Age 讀寫但是只能用SET function get Age() : int { return this.m_sAge; } function set Age(newAge : int) { if ((newAge >= 0) && (newAge <= 110)) this.m_iAge = newAge; else throw newAge + " is not a realistic age!"; } } var fred : Person = new Person("Fred", 25); print(fred.Name); print(fred.Age); // 這將產生一個編譯錯誤,name是只讀的。 fred.Name = "Paul"; // 這個將正常執行 fred.Age = 26; // 這將得到一個 run-time 錯誤, 值太大了 fred.Age = 200;