You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
SOP/sop-sdk/sdk-nodejs/testClass.js

52 lines
1.4 KiB

/**
* 演示JS面相对象,包括类的创建,继承,方法重写
* 运行:node testClass.js
*/
const {Class} = require('./common/Class');
function testClass() {
//-------------------------
// JS类的创建,继承
//-------------------------
// 例子1:-------------------------
// 创建一个父类
var Person = Class.create({
// 构造函数
init: function (option) {
this.name = option.name;
}
, getName: function () {
return this.name;
}
});
// 声明类实例
var Jim = new Person({name: 'Jim'});
console.log('Jim name:' + Jim.getName());
//例子2:-------------------------
// 创建一个类,继承Person类,并重写getName
var Man = Class.create({
init: function (option) {
this._super(option);// 调用父类构造函数
this.age = option.age;
}
// 重写父类方法
, getName: function () {
// 调用父类的getName()
var name = this._super();
return '我重写了getName方法:{' + name + '}';
}
}, Person);
var man = new Man({name: 'Tom', age: 22});
console.log('man name:' + man.getName());
console.log('Jim instanceof Person: ' + (Jim instanceof Person));
console.log('man instanceof Person: ' + (man instanceof Person));
}
testClass();