define.js

var Animal = new define({
			name : "Animal",
			methods : {
				run : function(){
					alert('can run');
				},
				eat : function(){
					alert('hehe');
				}
			},
			construct : function(a){
				alert(4);
			},
			statics : {
				aa : function(){
					alert(1);
				}
			}
		});
		
		var Person = new define({
			name : "Person",
			methods : {
				say : function(a){
					alert(a);
				}
			},
			construct : function(a){
				this.age = a;
			},
			extend : Animal,
			provides : Animal,
			borrows : [Animal]
		});