JavaScript中类的创建、继承,类的隐藏及实例化

来源:互联网 发布:搜索番号的软件 编辑:程序博客网 时间:2024/06/18 13:38
alert("类的隐藏");


//异常抛出
try{
//(function(){}()),先是一个(),然后括号里带一个方法,然后再加上一个()执行
//这是一个隐藏的实现,这样的话 ,有利于保护一些数据被篡改
(function(){
var str = "But";
//建立一个People的方法
function People(name){
this._name = name;
}


//People类里的一个say()方法
People.prototype.say = function(){
alert("People - Hello-"+this._name+str);
}


//把People对象传递给Windows
window.People = People;
}());

(function(){


//学生类方法
function Student(name){
this._name = name;
}


//学生类继承People
Student.prototype = new People();
//保存之前父类的say()方法
var superSay = Student.prototype.say;
//学生类的say()方法
Student.prototype.say = function(){
//调用的是之前父类里面的say()方法
superSay.call(this);
//输出
alert("Student - Hello-"+this._name);
//这时的str就是隐藏的,所以这样的话会提示 str is not define
alert(str);
}
window.Student = Student;
}());

//创建一个学生类的实例
var s = new Student("Astor");
s.say();//输出的是:People - Hello-AstorBut和Student - Hello-Astor
}catch(err){
alert(err);
}
1 0
原创粉丝点击