用js编写代码实现以下功能: 1.编写一个Person人类,人类有name姓名属性,age年龄属性,有eat吃东西的方法和sayHi打招呼的方法 2.编写Student学生类,学生类继承人类,并有特有的score分数属性和study学习方法; 3.封装一个类实现表单验证的功能。
时间: 2024-09-25 22:11:58 浏览: 44
Python实现动态添加属性和方法操作示例
当然可以。在JavaScript中,我们可以使用`class`关键字来创建类,并通过继承实现多态。这里是一个简单的示例:
```javascript
// 定义一个基本的人类(Person)类
class Person {
constructor(name, age) {
this.name = name;
this.age = age;
}
// 吃东西和打招呼的方法
eat() {
console.log(`${this.name}正在吃东西.`);
}
sayHi() {
console.log(`${this.name}说嗨.`);
}
}
// 学生(Student)类继承自人类(Person)
class Student extends Person {
constructor(name, age, score) {
super(name, age); // 调用父类构造函数
this.score = score;
}
// 学习方法
study() {
console.log(`${this.name}正在学习, 分数是 ${this.score}.`);
}
}
// 表单验证类(FormValidator),这里我们简单地假设它有校验名字和年龄的方法
class FormValidator {
isValidName(name) {
if (typeof name !== 'string' || name.length < 1) {
return false;
}
return true;
}
isValidAge(age) {
if (isNaN(age) || age <= 0) {
return false;
}
return true;
}
}
```
现在你可以实例化这些类并使用它们:
```javascript
const student = new Student('小明', 18, 95);
student.eat(); // 小明正在吃东西.
student.sayHi(); // 小明说嗨.
student.study(); // 小明正在学习, 分数是 95.
const formValidator = new FormValidator();
console.log(formValidator.isValidName('张三')); // 如果名字有效则输出true
console.log(formValidator.isValidAge(20)); // 如果年龄有效则输出true
```
阅读全文