javascript中模拟java类

/*
 *Complex.js
 *定义了Complex类,用来描述复数
 *复数是实数和虚数的和,并且虚数i是-1的平方根
 */

/*
 *这个构造函数为它所创建的每个实例定义了实例字段r和i
 *这两个字段分别用来保存实数的实部和虚部
 *他们是对象的状态
 */
 function Complex(real, imag){
  if(isNaN(real) || isNaN(imag)) {
    throw new TypeError();
  }
  this.r = real;
  this.i = imag;
 }
 
/*
 *类的实例方法定义为原型对象的函数值属性
 *这里定义的方法可以被所有的实例继承,并为他们提供共享的行为
 *需要注意的是,javascript的实例方法必须使用关键字this
 *来存取实例的字段
 */
  Complex.prototype.toString = function(that) {
  return "{"+this.r+","+this.i+"}";
 };

/*
 *类字段
 */ 
Complex.ZERO = new Complex(0,0);
Complex._format = /^\{([^,]+),([^}]+)\}$/;
/*
 *类方法
 */
 Complex.parse = function(s) {
  try{

    var m =  Complex._format.exec(s);

    return new Complex(parseFloat(m[1]),parseFloat(m[2]));
  }catch(x){
  
  }
 }
 var c = new Complex(2,3);
 console.log(c);
 console.log(Complex.parse(c.toString()));

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值