<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>declare Test</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"></meta> <style type="text/css"> body { font-family: Tahoma, Arial, Helvetica, sans-serif; font-size: 11px; } </style> <script>djConfig = { isDebug: true }</script> <script language="JavaScript" type="text/javascript" src="../../dojo.js"></script> <script language="JavaScript" type="text/javascript"> dojo.require("dojo.lang.declare"); dojo.addOnLoad(function(){ dojo.debug("> dojo.declare('my.classes.foo'..."); dojo.declare('my.classes.foo', null, { initializer: function(arg) { dojo.debug('foo: initializing instance' + (arg ? ' [' + arg + ']' : '')); this.id = 'foo'; }, getInstanceId: function(extra) { var ancestorId = my.classes.foo.superclass.getInstanceId.apply(this, arguments); return "a " + this.id + (ancestorId ? " is " + ancestorId : ''); }, getId: function() { return "I am a foo"; }, method: function() { return "A method in foo"; } }); dojo.debug("> dojo.declare('my.classes.bar', my.classes.foo, ..."); dojo.declare('my.classes.bar', my.classes.foo, { initializer: function(arg) { dojo.debug('bar: initializing instance' + (arg ? ' [' + arg + ']' : '')); this.id = 'bar'; }, getId: function(extra) { return "I am a bar and " + my.classes.bar.superclass.getId.apply(this, arguments); } }); dojo.debug(''); dojo.debug('> b = new my.classes.bar()'); b = new my.classes.bar(); dojo.debug(''); dojo.debug("> dojo.declare('my.classes.zot', my.classes.bar, ..."); dojo.declare('my.classes.zot', my.classes.bar, { initializer: function(arg) { dojo.debug('zot: initializing instance' + (arg ? ' [' + arg + ']' : '')); this.id = 'zot'; }, getId: function(extra) { return "I am a zot and " + my.classes.zot.superclass.getId.apply(this, arguments); } }); dojo.debug(''); dojo.debug('> f = new my.classes.foo()'); f = new my.classes.foo(); dojo.debug(''); dojo.debug('> z = new my.classes.zot("with an argument")'); z = new my.classes.zot("with an argument"); dojo.debug(''); dojo.debug('> f.getId()'); dojo.debug(f.getId()); dojo.debug(''); dojo.debug('> b.getId()'); dojo.debug(b.getId()); dojo.debug(''); dojo.debug('> z.getId()'); dojo.debug(z.getId()); dojo.debug(''); }); </script> </head> <body> </body> </html>