Heads up! To view this whole video, sign in with your Courses account or enroll in your free 7-day trial. Sign In Enroll
Well done!
      You have completed Ruby Objects and Classes!
      
    
You have completed Ruby Objects and Classes!
Preview
    
      
  In this video, we create a simple class. The class will be modeled after the concept of a name and return the different attributes a name might have.
Code Samples
class Name
  def title
    "Mr."
  end
  def first_name
    "Jason"
  end
  def middle_name
    ""
  end
  def last_name
    "Seifer"
  end
end
name = Name.new
puts name.title
puts name.first_name
puts name.middle_name
puts name.last_name
              Related Discussions
Have questions about this video? Start a discussion with the community and Treehouse staff.
Sign upRelated Discussions
Have questions about this video? Start a discussion with the community and Treehouse staff.
Sign up
                      Now that we know a little bit about how
objects and
                      0:00
                    
                    
                      classes work, let's create our own class.
                      0:02
                    
                    
                      We'll start small and create a class for
representing a name.
                      0:06
                    
                    
                      Before we jump straight in to coding, let's
think about how a name can be structured.
                      0:11
                    
                    
                      We're not going to get into everything
that can be possible with a name.
                      0:16
                    
                    
                      But for the purposes of the class we're
going to write, a name could have
                      0:20
                    
                    
                      the following items, title, first name,
middle name, and last name.
                      0:24
                    
                    
                      We create a class using the class keyword,
and
                      0:31
                    
                    
                      then the name of the class that we wanna
create.
                      0:34
                    
                    
                      Let's see how that works now using Work
Spaces.
                      0:37
                    
                    
                      So let's go ahead and create our first
class.
                      0:41
                    
                    
                      I've launched a Ruby Workspace here, and
on the left,
                      0:45
                    
                    
                      I'm going to right click and choose new
file.
                      0:48
                    
                    
                      And we'll name this name.rb.
                      0:53
                    
                    
                      And this is gonna be a simple class that
just returns my name.
                      0:56
                    
                    
                      So let's go ahead and dig in.
                      1:03
                    
                    
                      We start writing a class by using the
keyword class.
                      1:06
                    
                    
                      Then we type the name of the class.
                      1:10
                    
                    
                      Using an uppercase letter to start with.
                      1:14
                    
                    
                      In this case, the class name is going to
be Name.
                      1:18
                    
                    
                      [SOUND] And then we close it, by writing
end.
                      1:21
                    
                    
                      Now, if we wanted to have a longer class
name, that was more specific,
                      1:29
                    
                    
                      the convention behind that is doing
something like,
                      1:35
                    
                    
                      say, FirstName with no spaces.
                      1:38
                    
                    
                      But we're just gonna keep the name class
here, and let's go ahead and
                      1:43
                    
                    
                      think about the different components of a
name.
                      1:48
                    
                    
                      First we'll start with the title and
                      1:51
                    
                    
                      we're gonna create methods for all of
these different attributes.
                      1:53
                    
                    
                      And we'll say title and I'll go with
"Mr." this is a String.
                      1:58
                    
                    
                      And I have a first name, that's Jason.
                      2:08
                    
                    
                      [NOISE] I don't have a middle name but
                      2:15
                    
                    
                      I'm going to return an empty string and
                      2:19
                    
                    
                      I do have a last name, and that's going to
return "Seifer".
                      2:24
                    
                    
                      So now that we have this class written,
let's go ahead and instantiate it.
                      2:32
                    
                    
                      And let's just print out the name.
                      2:38
                    
                    
                      Go ahead and click into the console and
type ruby name.rb.
                      2:46
                    
                    
                      Now this returned, well, pretty much
nothing it has the name of the class, and
                      2:52
                    
                    
                      a colon, and a bunch of weird symbols
here.
                      2:56
                    
                    
                      And this is actually the address in memory
of the instantiated object.
                      3:01
                    
                    
                      But let's go ahead and
                      3:10
                    
                    
                      actually do something with the data that
we have inside here.
                      3:11
                    
                    
                      So we'll print out the title.
                      3:15
                    
                    
                      We're just calling a method.
                      3:18
                    
                    
                      [SOUND] And now we are calling all of
                      3:23
                    
                    
                      the different methods of this name object
                      3:29
                    
                    
                      which is an instance of the Name class.
                      3:36
                    
                    
                      Now let's run this again and see what
happens.
                      3:43
                    
                    
                      And it did exactly what we expected.
                      3:48
                    
                    
                      And print it out.
                      3:50
                    
                    
                      The results of these different methods.
                      3:52
                    
              
        You need to sign up for Treehouse in order to download course files.
Sign upYou need to sign up for Treehouse in order to set up Workspace
Sign up