📅  最后修改于: 2023-12-03 15:02:25.651000             🧑  作者: Mango
在JS++中定义类的方式与Java和C#类似,我们可以在类中定义字段和方法。字段是类的变量,而方法则是类的函数。下面将对JS++中的字段和方法进行介绍。
在JS++中定义字段的方式与Java和C#相同,可以使用关键字var
或let
定义一个变量。
class Person {
var name; // 字符串类型的字段
var age; // 数值类型的字段
var isMale; // 布尔类型的字段
}
这里定义了一个名为Person
的类,其中包含了三个字段:name
、age
和isMale
。这些字段可以在类的任何方法中使用,如下所示:
class Person {
var name;
var age;
var isMale;
function printInfo() {
console.log("Name: " + name);
console.log("Age: " + age);
console.log("Gender: " + (isMale ? "Male" : "Female"));
}
}
var p = new Person();
p.name = "Tom";
p.age = 25;
p.isMale = true;
p.printInfo(); // 输出 Name: Tom, Age: 25, Gender: Male
在JS++中定义方法的方式与函数相同,只不过它被定义在类中。下面是一个简单的例子:
class Person {
var name;
var age;
var isMale;
function printInfo() {
console.log("Name: " + name);
console.log("Age: " + age);
console.log("Gender: " + (isMale ? "Male" : "Female"));
}
function increaseAge() {
age++;
}
}
var p = new Person();
p.age = 25;
console.log(p.age); // 输出 25
p.increaseAge();
console.log(p.age); // 输出 26
在这个例子中,我们定义了一个名为increaseAge
的方法,它的作用是将age
字段加1。我们可以在实例化一个Person
对象后,使用increaseAge
方法增加这个人的年龄。
JS++支持通过访问器访问字段,访问器是一种特殊的方法,当你尝试读取或设置一个字段时,它会被自动调用。使用访问器可以控制字段的读取和设置,例如可以在设置一个字段时进行校验。
class Person {
var _name;
var age;
var isMale;
function set name(value) {
if (value.length < 2) {
console.log("Name is too short!");
} else {
_name = value;
}
}
function get name() {
return _name;
}
function printInfo() {
console.log("Name: " + _name);
console.log("Age: " + age);
console.log("Gender: " + (isMale ? "Male" : "Female"));
}
}
var p = new Person();
p.name = "T"; // 输出 Name is too short!
p.name = "Tom";
p.age = 25;
p.isMale = true;
p.printInfo(); // 输出 Name: Tom, Age: 25, Gender: Male
在这个例子中,我们将name
字段定义为_name
,并使用set
和get
关键字定义了读和写这个字段的访问器。在set
访问器中,我们对传入的value
进行了校验,如果不符合条件,则不设置_name
的值。而get
访问器则返回了_name
的值。
JS++中的字段和方法可以让我们更方便地对数据进行处理,并在必要时对数据进行校验和控制。访问器则可以让我们对字段的读写进行更精细的控制。