Skip to Content
Dojo: The Definitive Guide
book

Dojo: The Definitive Guide

by Matthew A. Russell
June 2008
Intermediate to advanced
488 pages
15h 3m
English
O'Reilly Media, Inc.
Content preview from Dojo: The Definitive Guide

Simulating Classes with Dojo

Now that you've had a moment to ponder some of the various inheritance possibilities, it's time to introduce the toolkit's fundamental construct for declaring classes and simulating rich inheritance hierarchies. Dojo keeps it simple by tucking away all of the implementation details involved with class declarations and inheritance behind an elegant little function in Base called dojo.declare. This function is easy to remember because you're loosely declaring a class with it. Table 10-1 shows the brief API.

Table 10-1. dojo.declare API

Name

Comment

dojo.declare (/*String*/ className,

/*Function|Function[]*/ superclass,

/*Object*/ props)

Provides a compact way of declaring a constructor function. The className provides the name of the constructor function that is created, superclass is either a single Function object ancestor or an Array of Function object ancestors that are mixed in, and props provides an object whose properties are copied into the constructor function's prototype.

Tip

As you might suspect, declare builds upon the patterns provided by functions like extend, mixin, and delegate to provide an even richer abstraction than any one of those patterns could offer individually.

Example 10-5 illustrates how you could use dojo.declare to accomplish an inheritance hierarchy between a shape and circle. For now, consider this example as just an isolated bit of motivation. We'll discuss the finer points momentarily.

Example 10-5. Simulating class-based inheritance ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

The Dojo Toolkit: Visual QuickStart Guide

The Dojo Toolkit: Visual QuickStart Guide

Steven Holzner
Java EE 8 Cookbook

Java EE 8 Cookbook

Edson Yanaga, Elder Moraes

Publisher Resources

ISBN: 9780596516482Errata Page