JavaScript的OOP编程1
首先要说的是,javascript其实是可以进行OOP编程的,其次javascript的OOP编程实现方式有多种,我写的这一种只是我测试过,可行的一种
version1
// 父类 function Person(name){this.name = name} Person.prototype.say = saymyname; function saymyname(){alert(this.name)} // 子类 function Employee(name){Person.call(this, name)} // 调用父类构造函数 Employee.prototype = new Person(); // 继承父类 Employee.prototype.cardID = function(){alert("1000")} // 定义子类自己的方法 // 实例化 p = new Employee("lishujun"); p.say(); p.cardID();
version2
// 父类 function Person(name){this.name = name} Person.prototype.say = saymyname; function saymyname(){alert(this.name)} // 子类 function Employee(name){Person.call(this, name)} // 调用父类构造函数 Employee.prototype = new Person(); // 继承父类 Employee.prototype.cardID = function(){this.say(); alert("1000")} // 定义子类自己的方法,调用父类方法 // 实例化 p = new Employee("lishujun"); p.say(); p.cardID();
version3
// 父类 function Person(name){this.name = name} Person.prototype.say = saymyname; function saymyname(){alert(this.name)} // 子类 function Employee(name){Person.call(this, name)} // 调用父类构造函数 Employee.prototype = new Person(); // 继承父类 Employee.prototype.cardID = function(){alert("1000")} // 定义子类自己的方法 Employee.prototype.say = function(){alert("Employee say")} // 覆盖父类方法,即:多态 // 实例化 p = new Employee("lishujun"); p.say(); p.cardID();
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。