首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Extjs 四入门 Javascript中的面向对象编程

2012-08-24 
Extjs 4入门 Javascript中的面向对象编程1.在Javascript中直接使用对象?var Person function(){}Person.

Extjs 4入门 Javascript中的面向对象编程

1.在Javascript中直接使用对象

?

var Person = function(){}Person.prototype.say = function(){return "person"}var bob = new Person()equal(bob.say(),"person")bob.say = function(){return "bob"}equal(bob.say(),"bob")equal(Person.prototype.say(),"person")var jack = new Person()equal(jack.say(),"person")
?

? ? 当为bob设置属性say时,就像上文所说的那样,由于bob对象本身并不包含say属性(它的say属性是从它的原型那里继承过来的,别忘了bob.prototype == Person.prototype),因此javascript将为bob对象创建say属性,并将新的函数赋给bob.say。但是,原型里的say属性并没有变,所有Person构造函数创建的对象,将继承那个原始的say属性。这样就实现了多态了,其他语言如java中的多态,都是靠子类重写父类的方法实现的,而javascript中实现这一点很简单。

? 实际上,java,C++等语言中,对象的行为(即方法)是由类定义的,而对象的状态是有每个对象自己保存的,也就是说,对象本身不会包含方法的代码,相同类的对象执行的方法都是同一个。但是javascript不一样,方法也是对象的一个属性,方法的内容由对象本身携带(如果是继承过来的,就由原型对象携带)。

? 在Extjs框架中,类型系统将变得更加OOP、更好理解,这一点,对于Extjs的成功帮助很大。

热点排行