JavaScript面向对象
(function(){
var n = 12;
function People(name){
this._name = name; # 类对象属性
} # 函数构造类People
Peole.prototype.say = function(){
alert("people"+ this._name + n);
} # 类对象方法
window.People = People; # 封装
}());
(function(){
function Student(name){
this._name = name; # 类对象属性
} # 函数构造类
Student.prototype = new People(); # 继承People类
var superSay = Student.prototype.say; # 继承People类对象say方法
Peole.prototype.say = function(){
superSay.call(this); # 调用父类say方法
alert("people"+ this._name + n);
} # 类对象方法
window.Student= Student;
}());
var s = new Student("tangyue");
s.say();
(function(){
function Person(name){
var _this = {};
_this._name = name;
_this.sayHello = function(){f
alert("hello" + _this._name);
}
return _this;
} # 创建Person类
window.Person = Person
}());
(function(){
function Teacher(name){
var _this = Person(name);
var superSay = _this.sayHello
_this.sayHello = function(){
superSay.call(_this);
alert("Thello" + _this._name);
} # 重写父类方法
return _this;
} # 继承Person类
window.Teacher = Teacher;
}());
var t = Teacher("tangyue");
t.sayHello();