ruby-oops-concept

ruby Object oriented programming in hindi

Object Oriented Programming in Ruby

ruby एक pure object oriented programming language है। जिस का मतलब यह है ruby में हर एक चीज़ object है वो चाहे एक number, string, boolean क्यूँ ना हो, ruby में यह सब object हैं। programming में object एक independent unit होता है, और हर एक की अपनी identity होती है। जैसे real world में एक blueprint तेयार होता है, और उससे बहुत सी building बनाई जाती हैं, ऐसे ही programming में class एक blue print होता है, बहुत से object create करने के लिए।

Class in Ruby

class एक blue print या basic outline होता है, object को define करने के लिए। उदाहरण के लिए car एक class है जिसमे color, model, company इसके object हैं। ruby में class create करने के लिए class keyword का use होता है class name से पहले और class के नाम का पहला letter capital होना चाहिए।

Initialize method

class में एक special initialize method होता है। जिसे others programming languages में constructor कहते हैं। यह class का standard method होता है ruby में। जब object को create किया जाता है, तो initialize method अपने आप call हो जाता है। initialize method class variables को new object के लिए initialize करता है।

#Syntax define a class
class Class_Name
#statements
end

Object in Ruby

Objects एक class के instance होते हैं। class में initialize method define करने के बाद, object को create किया जाता है। object को new method से create किया जाता है। object को create करने वाली process को instantiation कहते हैं। #Syntax Creating Objects
first_Object_Name = class_Name.new
second_Object_Name = class_Name.new
#Define class and create an object
class Car
def initialize
puts "Hello!"
end
end

obj=Car.new

#Outputs
Hello!

Instance method

instance method को class object access करते हैं। instance method class में define होते हैं। instance method वैसे ही define होते हैं जैसे के दुसरे method. instance method को dot "." के साथ call किया जाता है। instance method में multiple parameters और return values हो सकती हैं। instance method से instance variables को access किया जा सकता है जो object से बाहर हों।

#Define instance mehtod
class Car
def color
print "Golden"
end
end
obj=Car.new
obj.color

Getter method

instance variable को class से बाहर से access करने के लिए getter method use किया जाता है। getter method, instance variable की value को retrive करता है। getter method को accessor method भी कहते हैं।

#Define getter mehtod
class Car
def initialize(color)
@color=color
end
def color
@color
end
end
obj=Car.new("golden")
print obj.color

#Outputs
golden

Setter Method

Setter Method भी getter method जैसा ही होता है, लेकिन setter method का use instance variable की value को modify/updates करने के लिए किया जाता है। setter method को define करने के लिए ruby में setter method के नाम के साथ equal "=" sign use किया जाता है।

#Syntax setter method
def setter_method_Name=(parameter)
@instance_Variable=parameter_Variable
end
#Define setter mehtod
class Car
def initialize(color)
@color=color
end
def color
@color
end
def set_color=(color)
@color=color
end
end
obj=Car.new("golden")
obj.set_color="Silver"
print obj.color

#Outputs
Silver

Accessors

Ruby की library में एक pre define method है, जिस से automatically getter और setter method create किए जा सकते हैं। attr_accessor method एक ऐसा method है जिस से multiple instance vairables को एक ही line में handle कर सकता है। यह method instance variable के नाम (बिना @ symbol के) को use करता है उसे के लिए getter और setter method create करने के लिए। लेकिन ruby में दो और method भी हैं attr_reader method getter के लिए और attr_writer method setter के लिए।

#Syntax accessor method
attr_accessor :intance_Variable_Name
#Define accessor simple mehtod
class Car
attr_accessor :color
def initialize(color) @color=color
end
end
obj=Car.new("golden")
obj.color="Silver"
print obj.color

#Outputs
Silver

Accessors with self keyword

accessor method को class के अंदर से call करने के लिए self keyword use होता है। self current object को represents करता है और use किया जाता है instance method, accessors के object को call करने के लिए।

#Syntax set keyword
self.instance_variable(parameter)
#Define accessor mehtod self
class Car
attr_accessor :color, :model
def initialize(color, model)
@color=color
@model=model
end
def info(color, model)
self.color = color
self.model = model
end
def view
puts self.color
puts self.model
end
end

obj=Car.new("golden", "swift")
obj.info("Silver", "Alto" )
obj.view

#Outputs
Silver
Alto

Class Methods

class method को directly class से call किया जा सकता है बिना किसी object को create किए। यह तब ज्यादा usefull होते हैं, जब class object create न किया हो। class method को self keyword से define किया जाता है।

#Syntax class method
def self.class_Method_Nam
#Define class method
class Car
def self.show
puts"Silver Alto Car"
end
end

Car.show

#Outputs
Silver Alto Car

to_s method

यह ruby का built-in method है। to_s method, ruby की सभी classes में पहले से ही आता है। by default यह object class और object की id को print करता है। लेकिन यह customise किया जा सकता है। यह अपने आप ही call हो जाता है जब object को puts/print का साथ एक value की तरह use किया जाता है।

#syntax of to_s method
def
#statements
end
#Define to_s method
class Car
def to_s
Silver Alto Car
end
end
obj=Car.new
puts obj

#Outputs
Silver Alto Car
Share on Google Plus

About Lakhvir Singh

This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.
    Blogger Comment
    Facebook Comment

0 comments:

Post a Comment