|
|
Line 1: |
Line 1: |
− |
| |
− | {| Border = 1
| |
− | | | '''Time'''
| |
− | | | '''Narration'''
| |
− |
| |
− | |-
| |
− | | | 00:01
| |
− | | | '''Ruby''' માં '''Object Oriented Programming – Methods''' પરનાં સ્પોકન ટ્યુટોરીયલમાં તમારુ સ્વાગત છે.
| |
− |
| |
− | |-
| |
− | | | 00:07
| |
− | | | આ ટ્યુટોરીયલમાં આપણે શીખીશું :
| |
− |
| |
− | |-
| |
− | | | 00:09
| |
− | | |* '''instance methods'''
| |
− |
| |
− | |-
| |
− | | | 00:11
| |
− | | |* '''class methods'''
| |
− |
| |
− | |-
| |
− | | | 00:14
| |
− | | |* '''accessor methods'''.
| |
− |
| |
− | |-
| |
− | | | 00:15
| |
− | | | અહી આપણે વાપરી રહ્યા છીએ:
| |
− | * '''Ubuntu '''version '''12.04'''
| |
− |
| |
− | |-
| |
− | | | 00:19
| |
− | | |* '''Ruby 1.9.3'''
| |
− |
| |
− | |-
| |
− | | | 00:22
| |
− | | | આ ટ્યુટોરીયલ ના અનુસરણ માટે તમારી પાસે કાર્ય કરતું '''Internet ''' કનેક્શન હોવું જોઈએ.
| |
− |
| |
− | |-
| |
− | | | 00:27
| |
− | | | તમને '''Linux commands,''' '''Terminal '''અને '''Text-editor.''' નું જ્ઞાન હોવું જોઈએ.
| |
− |
| |
− | |-
| |
− | | | 00:31
| |
− | | | જો નથી, તો સંબંધિત ટ્યુટોરીયલો માટે, અમારી વેબસાઇટની મુલાકાત લો.
| |
− |
| |
− | |-
| |
− | | | 00:36
| |
− | | | શરૂઆત કરવા પહેલા, યાદ કરો કે આપણે “ttt” નામની એક ડીરેક્ટરી પહેલા બનાવી હતી.
| |
− |
| |
− | |-
| |
− | | | 00:41
| |
− | | | Let's go to that directory. ચાલો તે ડિરેક્ટરી પર જઈએ.
| |
− |
| |
− | |-
| |
− | | | 00:44
| |
− | | | પછી '''ruby-tutorial.''' પર.
| |
− |
| |
− | |-
| |
− | | | 00:47
| |
− | | |Create a directory named '''oop-methods''' નામની ડિરેક્ટરી બનાવો અને તેને cd કરો.
| |
− |
| |
− | |-
| |
− | | | 00:54
| |
− | | | '''Instance methods''' શું છે ?
| |
− |
| |
− | |-
| |
− | | | 00:56
| |
− | | | '''Instance methods ''' એ મેથડ છે જે તે ક્લાસના બધા '''instances ''' ના માટે ઉપલભ્ધ હોય છે.
| |
− |
| |
− | |-
| |
− | | | 01:03
| |
− | | | આગળ આપણે શીખ્યું હતું કે એક ક્લાસ ના '''objects ''' અથવા '''instances ''' કેવી રીતે બનાવાય,
| |
− |
| |
− | |-
| |
− | | | 01:09
| |
− | | | '''Ruby tutorials''' ના વેસિક લેવલ માં બતાવ્યા પ્રમાણે '''gedit ''' માં એક નવી ફાઈલ બનાવો.
| |
− |
| |
− | |-
| |
− | | | 01:14
| |
− | | | '''instance_methods.rb''' નામ આપો.
| |
− |
| |
− | |-
| |
− | | | 01:19
| |
− | | | મારી પાસે '''instance methods''' ને અમલીકરણનું એક કાર્યકારી ઉદાહરણ છે.
| |
− |
| |
− | |-
| |
− | | | 01:24
| |
− | | | આ ટ્યુટોરીયલ ને સમઝતી વખતે વચ્ચે અટકાવીને કોડ ટાઈપ કરી શકો છો.
| |
− |
| |
− | |-
| |
− | | | 01:29
| |
− | | | મેં આ ઉદાહરણ માં '''Product''' નામક એક ક્લાસ વ્યાખ્યાયિત કર્યો છે.
| |
− |
| |
− | |-
| |
− | | | 01:33
| |
− | | | મેં '''instance variables''', "name" અને "price" ને ઇનિશિલાઇઝ કરવા માટે ઇનિશિલાઇઝ મેથડ કોલ કર્યો છે.
| |
− |
| |
− | |-
| |
− | | | 01:41
| |
− | | | મેં '"name" અને "price"' નામક '''instance methods ''' ને પણ વ્યાખ્યાયિત કર્યો છે.
| |
− | |-
| |
− | | | 01:47
| |
− | | | તેમાંથી પ્રત્યેક '''instance variables''' ક્રમશ "name" અને "price" રીટર્ન કરે છે.
| |
− |
| |
− | |-
| |
− | | | 01:54
| |
− | | | '''Instance methods ''' સામાન્ય મેથડસ ની જેમ જ વ્યાખ્યાયિત થાય છે.
| |
− |
| |
− | |-
| |
− | | | 01:58
| |
− | | | પહેલા આપણે શીખ્યું હતું કે ''' Ruby.''' માં મેથડ કેવી રીતે બનાવે છે.
| |
− |
| |
− | |-
| |
− | | | 02:02
| |
− | | | ટૂંક સમયમાં, આપણે જોશું કે આ મેથડસ બધા '''instances.''' ના માટે કેવી રીતે ઉપલબ્ધ છે.
| |
− |
| |
− | |-
| |
− | | | 02:07
| |
− | | | હવે જે લોજીક આપણી પાસે છે તેને ઉપયોગ કરીએ.
| |
− |
| |
− | |-
| |
− | | | 02:11
| |
− | | | અહી મેં એક '''Product''' ઓબ્જેક્ટને ઇનિશિલાઇઝ કર્યું છે અને તેને "product_object_1" નામ આપ્યું છે.
| |
− |
| |
− | |-
| |
− | | | 02:18
| |
− | | | મેં અને '''name''' value અને '''price''' ના સાથે ઇનિશિલાઇઝ કર્યું છે.
| |
− |
| |
− | |-
| |
− | | | 02:24
| |
− | | | '''initializer block''' એ '''instance variables''' "@name" અને "@price" ને વેલ્યુ પાસ કરે છે.
| |
− |
| |
− | |-
| |
− | | | 02:31
| |
− | | | હવે આ '''product instance ''' અથવા '''object''' ઈન્સ્ટનસ મેથડ '''name''' અને '''price''' ને ઉપયોગ કરી શકીએ છીએ.
| |
− |
| |
− | |-
| |
− | | | 02:37
| |
− | | | આ મેથડસ ને કોલ કરવા પર આપણે '''instance variables''' માં સંગ્રહિત વેલ્યુ મેળવીશું.
| |
− |
| |
− | |-
| |
− | | | 02:43
| |
− | | | ચાલો હવે કોડ એક્ઝીક્યુટ કરીએ.
| |
− | |-
| |
− | | | 02:46
| |
− | | | ટર્મિનલ પર જાવ અને ટાઈપ કરો '''ruby instance_methods.rb ''' અને એન્ટર દબાવો.
| |
− |
| |
− | |-
| |
− | | | 02:56
| |
− | | | તમે જોશો કે તમે જે વેલ્યુ ને ઓબ્જેક્ટ ને ઇનિશિલાઇઝ કર્યું છે તેને પ્રિન્ટ કરો.
| |
− |
| |
− | |-
| |
− | | | 03:02
| |
− | | | કહેવા માટે "laptop" અને "35,000"
| |
− |
| |
− | |-
| |
− | | | 03:07
| |
− | | | આગળ એક અન્ય '''instance''' અથવા '''object''' ને ઇનિશિલાઇઝ કરો.
| |
− |
| |
− | |-
| |
− | | | 03:12
| |
− | | | હવે આ ઓબ્જેક્ટને '''product_object_2''' નામ આપીએ છીએ.
| |
− |
| |
− | |-
| |
− | | | 03:18
| |
− | | | આ વખતે '''name''' અને '''price''' ને વેલ્યુનો એક અન્ય સેટ આપીએ છીએ.
| |
− |
| |
− | |-
| |
− | | | 03:23
| |
− | | | હવે આ ઓબ્જેક્ટના માટે '''instance methods- "name" અને "price" કોલ કરીએ.
| |
− |
| |
− | |-
| |
− | | | 03:35
| |
− | | | આગળ, ચાલો ટર્મિનલ પર પાછા જાવ અને પહેલાની જેમ જ કોડ ને એક્ઝીક્યુટ કરો.
| |
− |
| |
− | |-
| |
− | | | 03:41
| |
− | | | તમે ધ્યાન આપશો કે આ સફળતાપૂર્વક એક્ઝીક્યુટ કરે છે અને આ નવી વેલ્યુને પ્રિન્ટ કરે છે.
| |
− |
| |
− | |-
| |
− | | | 03:48
| |
− | | |આ સાબિત કરે છે કે '''instance methods''' તે '''class Product''' ના બધા ઓબ્જેક્ટસ ના માટે ઉપલબ્ધ છે.
| |
− |
| |
− | |-
| |
− | | | 03:55
| |
− | | | હવે તમે પોતાના '''instance methods.''' લખવા માં સક્ષમ હોવા જોઈએ.
| |
− |
| |
| |- | | |- |
| | | 03:59 | | | | 03:59 |
− | | | Next, let us look at what '''class methods '''are. | + | | | આગળ આપણે જોઈ શકીએ છીએ કે ક્લાસ મેથડ શું હોય છે. |
| | | |
| |- | | |- |
| | | 04:04 | | | | 04:04 |
− | | | '''Class methods''' are '''methods '''available only to the '''class.''' | + | | | ક્લાસ મેથડસ ફક્ત ક્લાસના લીધે ઉપલબ્ધ મેથડ હોય છે. |
| | | |
| |- | | |- |
| | | 04:09 | | | | 04:09 |
− | | |These '''methods '''are not available to '''instances''' of the '''class.''' | + | | | આ મેથડ ક્લાસના '''instances''' નમાં માટે ઉપલબ્ધ નથી. |
| | | |
| |- | | |- |
| | | 04:14 | | | | 04:14 |
− | | |There are different ways you can define '''class methods'''. | + | | | તમે વિવિધ રીતે '''class methods''' ને વ્યાખ્યાયિત કરી શકીએ છીએ. |
| | | |
| |- | | |- |
| | | 04:16 | | | | 04:16 |
− | | | Let us look at an example. | + | | | ચાલો ઉદાહરણ ને જોઈએ. |
| | | |
| |- | | |- |
| | | 04:18 | | | | 04:18 |
− | | | Create a new file in '''gedit '''as shown in the basic level '''Ruby tutorials'''. | + | | | બેસિક લેવલ ના '''Ruby tutorials''' માં પ્રદશિત ની જેમ '''gedit ''' માં એક નવી ફાઈલ બનાવો. |
| | | |
| |- | | |- |
| | | 04:24 | | | | 04:24 |
− | | |Name it '''class_methods.rb'''. | + | | | '''class_methods.rb''' નામ આપો. |
| | | |
| |- | | |- |
| | | 04:28 | | | | 04:28 |
− | | | I have a working example of '''class methods'''. | + | | |\ મારી પાસે '''class methods''' નું એક કાર્યકરી ઉદાહરણ છે. |
| | | |
| |- | | |- |
| | | 04:32 | | | | 04:32 |
− | | |You can pause the tutorial and type the code as we go through it. | + | | | તમે ટ્યુટોરીયલને સમઝતી વખતે વચ્ચે અટકાવીને કોડ ટાઈપ કરી શકો છો. |
| | | |
| |- | | |- |
| | | 04:36 | | | | 04:36 |
− | | | I have defined a '''Product class''' like before. | + | | | મેં પહેલાની જેમ '''Product class''' ને વ્યાખ્યાયિત કર્યું છે. |
| | | |
| |- | | |- |
| | | 04:40 | | | | 04:40 |
− | | | I have also called an '''initializer''', like before. | + | | | મેં પહેલાની જેમ '''initializer''', ને પણ કોલ કર્યું છે. |
| | | |
| |- | | |- |
| | | 04:44 | | | | 04:44 |
− | | |However, this time I have added an extra '''argument''' called '''description'''. | + | | |જયારે કે આ વખતે મેં '''description''' નામક એક વધુ '''argument''' ઉમેર્યું છે. |
− | | + | |
− | |-
| + | |
− | | | 04:48
| + | |
− | | |I am also using '''class variables''' to hold the values, unlike '''instance variables''' earlier.
| + | |
− | | + | |
− | |-
| + | |
− | | | 04:55
| + | |
− | | | This '''class''' will demonstrate to you the 3 different ways one can define '''class methods.'''
| + | |
− | | + | |
− | |-
| + | |
− | | | 05:01
| + | |
− | | |Checkout the '''class method '''declaration for '''name'''.
| + | |
− | | + | |
− | |-
| + | |
− | | | 05:06
| + | |
− | | |Here, it is defined using the '''class name "Product"'''.
| + | |
− | | + | |
− | |-
| + | |
− | | |05:10
| + | |
− | | | Then, checkout the second '''class methods''' declaration.
| + | |
− | | + | |
− | |-
| + | |
− | | | 05:14
| + | |
− | | |Here I have used the '''"self" keyword'''.
| + | |
− | | + | |
− | |-
| + | |
− | | | 05:18
| + | |
− | | | Next, checkout the third way you can define '''class methods'''.
| + | |
− | | + | |
− | |-
| + | |
− | | | 05:23
| + | |
− | | | Now let us implement these '''class methods'''.
| + | |
− | | + | |
− | |-
| + | |
− | | | 05:27
| + | |
− | | | Let us first initialize an '''object''' of '''Product,''' like before.
| + | |
− | | + | |
− | |-
| + | |
− | | | 05:32
| + | |
− | | |This time we are also giving a value for the '''description'''.
| + | |
− | | + | |
− | |-
| + | |
− | | | 05:37
| + | |
− | | | Now, let us invoke the '''class methods''' as shown here.
| + | |
− | | + | |
− | |-
| + | |
− | | | 05:42
| + | |
− | | | Now, let us execute the code and inspect the output.
| + | |
− | | + | |
− | |-
| + | |
− | | | 05:47
| + | |
− | | | Switch to the '''terminal''' and execute the code like before.
| + | |
− | | + | |
− | |-
| + | |
− | | | 05:54
| + | |
− | | | You will notice that it will print the values for '''name, price '''and''' description.'''
| + | |
− | | + | |
− | |-
| + | |
− | | | 05:59
| + | |
− | | | Now, you should be able to write your own '''class methods'''.
| + | |
− | | + | |
− | |-
| + | |
− | | | 06:03
| + | |
− | | | Next we shall see what '''accessor methods''' are.
| + | |
− | | + | |
− | |-
| + | |
− | | | 06:07
| + | |
− | | | '''Ruby''' uses '''accessor methods''' to access data, defined within '''classes'''.
| + | |
− | | + | |
− | |-
| + | |
− | | | 06:13
| + | |
− | | |'''Accessor methods''' comprise of '''setter methods''' and '''getter methods'''.
| + | |
− | | + | |
− | |-
| + | |
− | | | 06:18
| + | |
− | | |'''Setter methods''' set the values.
| + | |
− | | + | |
− | |-
| + | |
− | | | 06:22
| + | |
− | | |'''Getter methods''' get those values.
| + | |
− | | + | |
− | |-
| + | |
− | | | 06:24
| + | |
− | | |'''Ruby''' uses the word '''attr_accessor''' to declare these '''methods'''.
| + | |
− | | + | |
− | |-
| + | |
− | | | 06:31
| + | |
− | | | Let us look at an example of '''accessor methods'''.
| + | |
− | | + | |
− | |-
| + | |
− | | | 06:35
| + | |
− | | | Create a new file in '''gedit '''as shown in the basic level '''Ruby tutorials'''.
| + | |
− | | + | |
− | |-
| + | |
− | | | 06:39
| + | |
− | | |Name it '''accessor_methods.rb'''
| + | |
− | | + | |
− | |-
| + | |
− | | | 06:43
| + | |
− | | | I have a working example of implementing '''accessor methods'''.
| + | |
− | | + | |
− | |-
| + | |
− | | | 06:47
| + | |
− | | |You can pause the tutorial and type the code as we go through it.
| + | |
− | | + | |
− | |-
| + | |
− | | | 06:52
| + | |
− | | | I have defined a '''class''' named '''Product,''' in this example.
| + | |
− | | + | |
− | |-
| + | |
− | | | 06:56
| + | |
− | | |I have declared '''attr_accessor '''for 'name' and 'price'.
| + | |
− | | + | |
− | |-
| + | |
− | | | 07:01
| + | |
− | | |That is all that is required to use these types of '''methods'''.
| + | |
− | | + | |
− | |-
| + | |
− | | | 07:05
| + | |
− | | | Now let us put it to action.
| + | |
− | | + | |
− | |-
| + | |
− | | | 07:07
| + | |
− | | |I have initialized a '''Product object'''.
| + | |
− | | + | |
− | |-
| + | |
− | | | 07:10
| + | |
− | | | Then, I have set the '''name''' and '''price''' of the '''product''' object.
| + | |
− | | + | |
− | |-
| + | |
− | | | 07:14
| + | |
− | | |This is possible because the '''attr_declaration,''' by default, creates '''methods''' for setting values.
| + | |
− | | + | |
− | |-
| + | |
− | | | 07:22
| + | |
− | | | I have then attempted to print the values using the '''getter methods''' for 'name' and 'price'.
| + | |
− | | + | |
− | |-
| + | |
− | | | 07:28
| + | |
− | | |These '''getter methods''' were also generated by the declaration of '''attr_accessor'''.
| + | |
− | | + | |
− | |-
| + | |
− | | | 07:35
| + | |
− | | | Now let us '''execute''' the code like before.
| + | |
− | | + | |
− | |-
| + | |
− | | | 07:40
| + | |
− | | | You will notice that it prints the values that were set.
| + | |
− | | + | |
− | |-
| + | |
− | | | 07:44
| + | |
− | | | By now, you should be able to write your own '''accessor methods'''.
| + | |
− | | + | |
− | |-
| + | |
− | | | 07:50
| + | |
− | | | One thing to note is that '''accessor methods''' are, by default,''' instance methods.'''
| + | |
− | | + | |
− | |-
| + | |
− | | | 07:55
| + | |
− | | |Thus they can be accessed by different '''instances''' of the '''class Product'''.
| + | |
− | | + | |
− | |-
| + | |
− | | | 08:00
| + | |
− | | | In this tutorial, we have learnt about: '''instance methods''', '''class methods '''and '''accessor methods'''.
| + | |
− | | + | |
− | |-
| + | |
− | | | 08:06
| + | |
− | | | As an assignment: define a '''class''' named '''Temperature'''.
| + | |
− | | + | |
− | |-
| + | |
− | | | 08:10
| + | |
− | | | Write an '''instance method '''using Ruby's '''accessor method''' syntax.
| + | |
− | | + | |
− | |-
| + | |
− | | | 08:15
| + | |
− | | | This '''method''' should calculate the '''Celsius '''for the given '''Fahrenheit.'''
| + | |
− | | + | |
− | |-
| + | |
− | | | 08:20
| + | |
− | | | Watch the video available at the following link.
| + | |
− | | + | |
− | |-
| + | |
− | | | 08:23
| + | |
− | | |It summarizes the Spoken Tutorial project.
| + | |
− | | + | |
− | |-
| + | |
− | | | 08:26
| + | |
− | | |If you do not have good bandwidth, you can download and watch it.
| + | |
− | | + | |
− | |-
| + | |
− | | |08:30
| + | |
− | | | The Spoken Tutorial project team:
| + | |
− | | + | |
− | |-
| + | |
− | | | 08:31
| + | |
− | | |* Conducts workshops using spoken tutorials.
| + | |
− | | + | |
− | |-
| + | |
− | | | 08:34
| + | |
− | | |* Gives certificates to those who pass an online test.
| + | |
− | | + | |
− | |-
| + | |
− | | | 08:38
| + | |
− | | |For more details, please write to:
| + | |
− | contact at spoken hyphen tutorial dot org.
| + | |
− | | + | |
− | |-
| + | |
− | | | 08:44
| + | |
− | | | '''Spoken Tutorial''' project is a part of the '''Talk to a Teacher''' project.
| + | |
− | | + | |
− | |-
| + | |
− | | | 08:48
| + | |
− | | |It is supported by the National Mission on Education through ICT, MHRD, Government of India.
| + | |
− | | + | |
− | |-
| + | |
− | | | 08:55
| + | |
− | | |More information on this mission is available at:
| + | |
− | spoken hyphen tutorial dot org slash NMEICT hyphen Intro.
| + | |
− | | + | |
− | |-
| + | |
− | | | 09:03
| + | |
− | | | This is Anjana Nair, signing off. Thank you.
| + | |
− | | + | |
− | |}
| + | |
|-
| | 03:59
| | આગળ આપણે જોઈ શકીએ છીએ કે ક્લાસ મેથડ શું હોય છે.
|-
| | 04:04
| | ક્લાસ મેથડસ ફક્ત ક્લાસના લીધે ઉપલબ્ધ મેથડ હોય છે.
|-
| | 04:16
| | ચાલો ઉદાહરણ ને જોઈએ.
|-
| | 04:32
| | તમે ટ્યુટોરીયલને સમઝતી વખતે વચ્ચે અટકાવીને કોડ ટાઈપ કરી શકો છો.