码迷,mamicode.com
首页 > 编程语言 > 详细

JavaScript的OOP编程1

时间:2015-01-20 11:51:39      阅读:112      评论:0      收藏:0      [点我收藏+]

标签:

首先要说的是,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();

 

JavaScript的OOP编程1

标签:

原文地址:http://www.cnblogs.com/code-style/p/4235547.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!