Ruby/C3/Object-Oriented-Concept-in-Ruby/English-timed
From Script | Spoken-Tutorial
Revision as of 13:01, 11 June 2014 by PoojaMoolya (Talk | contribs)
| Time' | Narration |
| 00.01 | Welcome to this spoken tutorial on Object Oriented Concept in Ruby. |
| 00.06 | In this tutorial we will learn to use- |
| 00.08 | classes |
| 00.09 | creating objects |
| 00.10 | different ways of defining methods in Ruby |
| 00.13 | Here we are using |
| 00.14 | Ubuntu version 12.04 |
| 00.16 | Ruby 1.9.3 |
| 00.19 | To follow this tutorial, you must have knowledge of Linux commands, Terminal and Text-editor. |
| 00.24 | If not, for relevant tutorials, please visit our website. |
| 00.28 | Before we begin, recall that we had created a “ttt” directory earlier. |
| 00.33 | Let's go to that directory. |
| 00.35 | To ruby hyphen tutorial and classes directory. |
| 00.41 | Ruby is an object oriented language. |
| 00.44 | Everything in Ruby is an object; from a value to a string or number.
|
| 00.49 | A class' is a collection of related data and functions. |
| 00.53 | It can serve to keep information organized. |
| 00.56 | An object is an instantiation of a class. |
| 01.00 | A class definition begins with the keyword class. |
| 01.05 | It is followed by the name of the class. |
| 01.08 | It is delimited with an “end”.
|
| 01.11 | Let us look at an example of a class. |
| 01.14 | class Product |
| 01.16 | ruby code |
| 01.17 | end |
| 01.20 | The name of the class must begin with a capital letter. |
| 01.24 | Names that contain more than one word should be camelcased. |
| 01.28 | For example, |
| 01.30 | UserInformation |
| 01.32 | ProductInformation |
| 01.34 | The subsequent file names will have underscore separating the words:
|
| 01.37 | user underscore information |
| 01.40 | product underscore information |
| 01.45 | Create a new file in gedit as shown in the basic level Ruby tutorials. |
| 01.48 | Name it class_definition.rb |
| 01.52 | I have a working example of the implementation of classes. |
| 01.57 | You can pause the tutorial, and type the code as we go through it. |
| 02.02 | I have defined a class named Order in this example. |
| 02.05 | Now let us make the class useful by adding some variables. |
| 02.11 | Then I have defined an instance variable “myinstance”. |
| 02.15 | And I have assigned a value to it. |
| 02.18 | I have also defined a class variable “myclassvar” |
| 02.21 | And I have assigned a value to it. |
| 02.24 | Now let us add some code that will make use of this class. |
| 02.30 | Type puts Order dot instance underscore variables.
|
| 02.36 | Before this line, add puts some characters slash n for a new line. |
| 02.43 | Let us copy and paste that and add it just below the line we added and save it. |
| 02.51 | Now let us execute this code |
| 02.53 | Switch to the terminal and type |
| 02.56 | ruby space class underscore definition dot rb |
| 03.02 | and see the output. |
| 03.05 | You will see the instance variable you defined. |
| 03.09 | Now let us type puts Order dot class underscore variables. |
| 03.15 | Let us copy and paste the demarcation, just below the line and save it. |
| 03.21 | Now let us switch to the terminal and execute the file like before. |
| 03.26 | You will notice the class variable you defined, also show up. |
| 03.32 | To now be able to write your own class. |
| 03.35 | Next, let us look at what an object is. |
| 03.40 | An object is an instance of a class. |
| 03.43 | Which means an object is created from a class. |
| 03.46 | An object will have the properties and methods defined in the class. |
| 03.52 | How do you declare an object |
| 03.54 | We declare an object of a class using the new keyword.
|
| 03.58 | Here we are declaring an object of the Product class. |
| 04.02 | Here an object gets created. |
| 04.05 | product = Product.new |
| 04.09 | This process is called initialization of an object. |
| 04.12 | This object is of type: Product.
|
| 04.16 | Now let is look at what an “initialize” method is. |
| 04.20 | An initialize method is called at the time of object creation.
|
| 04.26 | On calling new on an object, we invoke the initialize method. |
| 04.31 | An initialize method may take a list of parameters. |
| 04.37 | Like other Ruby methods, it is preceded by the “def” keyword. |
| 04.43 | Let us look at an example. |
| 04.46 | Create a new file in gedit as shown in the basic level Ruby tutorials. |
| 04.50 | And name it object undescore initialize dot rb |
| 04.55 | I have a working example of the object initialization code. |
| 05.00 | You can pause the tutorial, and type the code as we go through it. |
| 05.04 | Here I have defined a class called “Order” |
| 05.08 | Then I have defined the initialize method, with no argument. |
| 05.13 | I have defined a puts method to display the message “I have created an object”. |
| 05.20 | Next, I have defined Order dot new. |
| 05.24 | This will invoke the initialize method. |
| 05.27 | Switch to the terminal and type |
| 05.31 | ruby space object underscore initialize dot rb |
| 05.36 | and see the output. |
| 05.39 | You will see the message “I have created an object” . |
| 05.43 | Now let us go back to gedit and add an argument to the method. |
| 05.48 | Let us modify the puts . |
| 05.51 | It should display the value of the argument passed. |
| 05.55 | Next let us type |
| 05.56 | Order dot new(“I have created an object”). |
| 06.04 | Here we have given an argument to the new method. |
| 06.08 | This argument gets passed on to the initialize method. |
| 06.13 | Switch to the terminal and type |
| 06.16 | ruby space object underscore initialize dot rb |
| 06.20 | and see the output. |
| 06.22 | You will see the message “I have created an object” printed out. |
| 06.29 | Now, you would have understood what object initialization means. |
| 06.33 | Recall that in Ruby, methods are the functions that a class performs. |
| 06.39 | Each method in a class is defined within the “def” and “end” block.
|
| 06.45 | A multiword method name is separated with an underscore. |
| 06.48 | Some of the characters that can be appended to a method name are: |
| 06.54 | ? (question-mark) |
| 06.56 | = (equal to) |
| 06.58 | Each of the characters add some meaning to the method. |
| 07.02 | Let us look at some examples.
|
| 07.05 | Create a new file in gedit as shown in the basic level Ruby tutorials. |
| 07.09 | And name it class underscore methods dot rb. |
| 07.14 | I have a working example of class methods code. |
| 07.17 | You can pause the tutorial, and type the code as we go through it. |
| 07.21 | Here I have defined a class named “Animal”. |
| 07.23 | Then I have two methods “breathe” and “walk”. |
| 07.28 | They are both defined with the “def” and “end” keywords. |
| 07.32 | I have then initialized the object Animal. |
| 07.36 | I have assigned it to a variable called “animal” with lowercase “a”. |
| 07.40 | Then I have invoked the methods “breathe” and “walk” consequtively. |
| 07.48 | Now let us execute the program. |
| 07.51 | Switch to the terminal and type |
| 07.53 | ruby space class underscore methods dot rb |
| 07.58 | and see the output. |
| 08.00 | You will notice the lines: |
| 08.02 | “ I breathe” |
| 08.03 | “ I walk” |
| 08.04 | printed out. |
| 08.05 | This is because you have invoked the two methods “breathe” and “walk”.
|
| 08.10 | A “puts” statement defined within these methods gives the results you see. |
| 08.16 | Next, let us look at how to create methods with a trailing question mark. |
| 08.21 | Create a new file in gedit as shown in the basic level Ruby tutorials. |
| 08.25 | And name it class underscore methods underscore with underscore trailing underscore characters dot rb |
| 08.35 | I have a working example of class methods with question mark code. |
| 08.40 | You can pause the tutorial, and type the code as we go through it. |
| 08.45 | Here I have taken the same class as before as an example. |
| 08.48 | Here the breathe method has a trailing “question mark (?)”. |
| 08.52 | Such methods are generally used to return boolean values.
|
| 08.55 | This is based on the method naming convention of Ruby. |
| 09.00 | The method gets invoked by declaring animal dot breathe question-mark |
| 09.06 | Switch to the terminal and type |
| 09.09 | ruby space class underscore methods underscore with underscore trailing underscore characters dot rb and see the output.
|
| 09.22 | You will notice the output as : “true”
|
| 09.26 | Next, let us define another method called “walk”. |
| 09.30 | Let us place an equal-to sign “=(value)” beside it. |
| 09.36 | Let us invoke this method by calling animal dot walk. |
| 09.41 | Then let us execute this method. |
| 09.44 | Switch to the terminal and type |
| 09.45 | ruby class underscore methods underscore with underscore trailing underscore characters dot rb
|
| 09.52 | and see the output. |
| 09.56 | It will give an “undefined method” error. |
| 09.59 | This is because the equal to sign has another meaning. |
| 10.03 | It is used to assign a value to a method. |
| 10.08 | So, let us invoke the method a little differently this time. |
| 10.13 | Type puts animal dot walk equal to “ hops” |
| 10.17 | Now let give it another try. |
| 10.20 | Switch to the terminal and run the command like before and see the output. |
| 10.27 | You will notice that the word “hops” get printed. |
| 10.30 | This demonstrates that the equal to sign next to a method means assignment. |
| 10.36 | Now you should be able to write your own methods. |
| 10.42 | In this tutorial we have learnt- |
| 10.44 | How to declare classes |
| 10.46 | How to create objects of a class |
| 10.48 | Different ways of defining methods in Ruby |
| 10.52 | As an assignment: |
| 10.54 | Define a class Product |
| 10.56 | Define methods that you can use to get values of “myvar” and set values for “myvar”. |
| 11.01 | To set values, define the method using “=” sign. |
| 11.05 | Instantiate the object of the class and set and get values using the above 2 methods.
|
| 11.12 | Watch the video available at the following link. |
| 11.14 | It summarises the Spoken Tutorial project. |
| 11.18 | If you do not have good bandwidth, you can download and watch it. |
| 11.22 | The Spoken Tutorial Project Team : |
| 11.24 | Conducts workshops using spoken tutorials |
| 11.27 | Gives certificates to those who pass an online test |
| 11.30 | For more details, please write to contact@spoken-tutorial.org |
| 11.36 | Spoken Tutorial Project is a part of the Talk to a Teacher project. |
| 11.39 | It is supported by the National Mission on Education through ICT, MHRD, Government of India. |
| 11.46 | More information on this Mission is available at spoken hyphen tutorial dot org slash NMEICT hyphen Intro |
| 11.56 | This is Anjana Nair signing off. Thank you |
Contributors and Content Editors
Jyotisolanki, PoojaMoolya, Pratik kamble, Sandhya.np14, Shruti arya