Programming Forums
User Name Password Register
 

RSS Feed
FORUM INDEX | TODAY'S POSTS | UNANSWERED THREADS | ADVANCED SEARCH

 
 
Thread Tools Display Modes
Prev Previous Post in Thread   Next Post in Thread Next
Old Aug 11th, 2005, 2:39 PM   #1
bulio
Hobbyist Programmer
 
bulio's Avatar
 
Join Date: Jul 2004
Location: Location
Posts: 138
Rep Power: 5 bulio is on a distinguished road
Ruby Classes tutorial

I created a tutorial to help me while learning Ruby. I've decided to post it for all to see Please let me know of any syntax errors if you see them, so I may fix them.

Classes

Library example:

Ok, so I want to start a library. In the library, I need books. We need to make a basic class, books. This is where all the books will go.

We'll start off by creating a basic class for all the books.
Quote:
class Books
def initialize(title,year,author)
@title = title
@year = year
@author = author
end
end
In there, I just made a general class, books. Every book in the library will have a title, year, and an author. The class tells the computer that information.

Now lets enter a book into the database:
Quote:
book1 = Book.new("Ruby Guide","2005","bulio")
book1.inspect
Now we just added book1 to our library databse! book1.inspect shows us some information about the file.

Now we want to try and get all the book information. So we will do this:
Quote:
class Books
def to_s
"Books: #{@title}--#{@year} (#{@author})"
end
end
book1 = Books.new("Ruby Guide", 2005," bulio")
book1.to_s
That will output:
Quote:
book1.to_s » "Books: Ruby Guide--2005 (bulio)"
Now thats some headway!

Inheritance and Messages

Inheritance allows you to create a class that is a specialization of another class. (Think of it as a subclass). For example, our library has the book conecept class Books. Now we will make a specific class for a genre of book.
Quote:
class ProgrammingBooks < Books
def.to_s
"Books: #{@title}--#{@year} (#{@author}) #{language}"
super(title, year,author )
@lang = language
end
end
Right there, we made a class category called Programming Books. So If the program were to see a programming book, it would use this subclass. We also used our basic variables, and added a new class specific one, language.

Note:
< Tells ruby that ProgrammingBooks is a subclass of Books.
Quote:
Books = ProgrammingBooks.new("Learning C++", "bulio", "C++")
Books.to_s
That puts Learning C++ into the programming category. It also gives us information about the book via Books.to_s

**Note*

You can get info using things such as Book.name etc. what ever comes after the . is a variable that you've set.
bulio is offline   Reply With Quote
 

Bookmarks

« Previous Thread in Forum | Next Thread in Forum »

Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump




DaniWeb IT Discussion Community
All times are GMT -5. The time now is 12:23 AM.

Powered by vBulletin® Version 3.7.0, Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Copyright ©2007 DaniWeb® LLC