November 2007

Thursday, November 15, 2007

6:00 - 7:30 PM


David W. Body / Big Creek Software, LLC


Object-Oriented Ruby

The fundamentals of object-oriented programming in Ruby are straightforward and easy to learn.  But there are some aspects of object-oriented programming in Ruby that are special and set Ruby apart.

Every data type in Ruby is an object, including data types that may be considered primitives in other languages.  For example, integers, booleans, and nil are objects.  Like other object-oriented languages, Ruby supports inheritance and dynamic dispatch of methods.  Although Ruby does not support multiple inheritance, it does allow collections of methods called modules to be "mixed into" classes.

As in other object-oriented languages, Ruby objects are instances of classes.  But Ruby classes are themselves objects (instances of the class Class).  Yes, that means that Class is an instance of itself!

So objects are classes, and classes are objects.  (Keep repeating this to yourself.)

Don't worry if you find all of this slightly confusing.  In this presentation, David will cover object-oriented programming concepts in Ruby including objects, classes, modules, singleton methods, class methods, instance variables, and class variables.  You'll learn about the classes Object, Module, and Class, about the Kernel module, and how all of these relate to each other.  In the end, you'll see that object-oriented Ruby is elegantly simple, internally consistent, and profoundly powerful.

Level: Intermediate

Meeting Location

5959 Grand Ave
West Des Moines, Iowa

We meet in the main auditorium on the second floor.  Wi-fi Internet access is available.

Map (DMACC West)

Dinner After the Meeting

If you can, please plan to join us for dinner at a local restaurant after the meeting.