PHP知识、源码、教程、框架、程序分享! -- PHP社区 关于我们 联系我们 联系电话 联系QQ

JavaScript语言中的经典继承实例

发表时间:2014-05-18 点击:

[本文摘要]:JavaScript 语言中的经典继承实例 首先,我们将尽,将已设置并获得其值的方法一Parenizor类和toString方法,将包裹在括号中的值。 function Parenizor(value) { this.setValue(value);}Parenizor.method(setVa...

JavaScript语言中的经典继承实例

首先,我们将尽,将已设置并获得其值的方法一Parenizor类和toString方法,将包裹在括号中的值。

	function Parenizor(value) {
	      this.setValue(value);
	}
	Parenizor.method('setValue', function (value) {
	      this.value = value;
	      return this;
	});
	Parenizor.method('getValue', function () {
	      return this.value;
	});
	Parenizor.method('toString', function () {
	      return '(' + this.getValue() + ')';
	});

语法是有点不寻常,但很容易认识到古典图案在里面。该方法方法接受一个方法名和函数,将它们添加到类中的公共方法。

所以,现在我们可以这样写:

	myParenizor = new Parenizor(0);
	myString = myParenizor.toString();

正如你所期望的,myString的是“(0)”。

现在,我们将尽其将继承Parenizor,这是相同的,只是它的toString方法会产生“-0 - ”另一个类,如果该值为零或空。

	function ZParenizor(value) {
	      this.setValue(value);
	}
	ZParenizor.inherits(Parenizor);
	ZParenizor.method('toString', function () {
	      if (this.getValue()) {
	      	      return this.uber('toString');
	      }
	      return "-0-";
	});

在继承方法类似于Java的延伸。超级方法类似于Java的超级。它可以让一个方法调用父类的方法。 (该名称已被更改,以避免保留字的限制。)

所以,现在我们可以这样写:

	myZParenizor = new ZParenizor(0);
	myString = myZParenizor.toString();

这一次,myString的是“-0 -”。

JavaScript没有类,但是我们可以编程,就像它一样。

版权声明:本文系技术人员研究整理的智慧结晶,转载勿用于商业用途,并保留本文链接,侵权必究!

本文链接:http://php.aixc.cn/web/js/502.html

声明:本站技术及源码均为原创,转载请勿用于商业用途,并注明出处及原文链接,侵权必究。