This commit is contained in:
tanghc
2020-08-10 17:18:20 +08:00
parent 42979771ee
commit 160e57df0e
13 changed files with 580 additions and 0 deletions

View File

@@ -0,0 +1,52 @@
/**
* 演示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()