claz
v1.0.2
Published
javascript 面向对象编程实现,继承,父类方法,接口。
Downloads
2
Readme
klass
javascript 面向对象编程实现,继承,父类方法,接口。 关键字:klass 类定义 new klass({}); extend 继承 init 构造函数 this.supr 调用父类方法 test 实现接口 {接口名:类型} 类型:{}对应object,ovt 数字对应number,function(){}对应函数,""对应字串。
公共方法:第一个字母为大字的时,该方法为公共方法,可以被继承。
接口 定义的都是公共方法,第一个字母需要大写
var IPeople = {
Wc:function(){}
,PaPa:function(){}
,Hi:function(){}
}
##定义类,并实现构造函数和接口
var Peopel = new klass({
//构造函数
init:function(name,age){
this.name = name;
this.age = age;
}
//实现接口
,PaPa:function(){
console.log("啪啪.啪");
}
,Wc:function(){
console.log("去茅厕");
}
,Hi:function(){
console.log("hi , 我是" + this.name + ".我" +this.age+ "了");
}
//强制实现IPeople接口
}).test(IPeople);
子类
var Man = People.extend({
init:function(name,age){
this.supr(name,age);
}
,Wc:function(){
this.supr();
console.log("我是boy,我去男茅厕");
}
})
var Leo = Man.extend({
init:function(name,age){
this.supr(name,age);
}
})
var Woman = People.extend({
init:function(name,age){
this.supr(name,age);
}
,Wc:function(){
this.supr();
console.log("我是girl,我去女茅厕");
}
})
###实例化
var leo = new Leo("leo",30);
leo.PaPa();
leo.Wc();
// leo.say(); // 小写,不能被继承
var leona = new Woman("leona",25);
leona.Hi();
leo.Hi();