intro ruby classes part i
TRANSCRIPT
RUBY intro to classes, part 1
Who am I
Juan LealRubyist and Rails Developer since 2007
Worked at Equifax and Pragmatic Programmers
Currently employed at Hiplogiq
What We'll Cover
A review of Classes and Objects
Some basics of classes in Ruby
Some background info regarding classes in Ruby.
Using Ruby's class Class.
A review of Classes and Objects
What's a class? - let's review
blueprint or pattern for how we want to construct something.
template defining the methods and variables in a particular kind of object.
Classes vs Objects
It's important distinguish between the two.
Classes are instantiated into instances or objects.
Objects and classes are not the same.
A real world analogy for example is that a blueprint of a house would a class and actual house would be an object.
Class
Object
Classes in Ruby, some basics
Defining a class
Here we define a class and a method.
Inheritance
Here the class Bar inherits from class Foo.
Define a Constructor
In Ruby one defines a constructor through the method initialize.
Here we've defined initialize and have it take an argument called 'name'.
Then we set an instance variable to value of 'name'.
Ruby classes, some background information.
General points
In Ruby everything is object.
Objects are instances of a class.
Simple right?
Lets Look at Some Code
This is how we discover an object's class.
This is how we discover a class' parent class.
Classes in Ruby
In Ruby everything is an object. This includes classes. As such a class in Ruby is an instance of class Class.
But wait, if everything is an object then that means Class is an object too. And sure enough it is.
So if Class is an object, what is it an instance of?
It's an instance of class Class. In other words, it's an instance of itself.
So...
Class is an instance of class Class. Remember all objects are instances of a class.
Class
an instance of
class
Class is an object. Remember in Ruby everything is an object.
So the thing is, there really is nothing overly significant about this. This relationships is just a result of the way the Ruby object model was designed. It won't be on the final but it's stuff that can be useful to know.
Using class Class.
The class Class
Let's take a look at what we can do with Class.
We can define classes.
We can do inheritance.
How I commonly use class Class
Many times when people need to do a simple subclass they jam their code on a single line as shown in line :2.
It's valid ruby code but a little unsightly. It resorts to using the semicolon which separates the commands.
My personal preference is to subclass using class Class.
In Closing
There's quite a bit about classes which we have not covered.
This will be an ongoing series so keep an eye out for more to come.
Thank you for attending.
Twitter: @terminalbreaker
The End.