Mae Ruby yn iaith raglennu sy'n adnabyddus am ei symlrwydd a'i harddwch. Un o'r cysyniadau pwysig y mae angen i bob datblygwr Ruby ei ddeall yw gwelededd dulliau. Mae gwelededd yn pennu ble a sut y gall dulliau gael eu galw yn y cod. Yn yr erthygl hon, byddwn yn archwilio'r pedair math o gwelededd yn Ruby: 'public', 'protected', 'private', a 'module_function'. Byddwn hefyd yn rhoi enghreifftiau o'r cod i helpu i egluro'r cysyniadau hyn.
Mae Ruby yn cynnig pedair prif gategori o welededd dulliau:
Mae dulliau cyhoeddus (public methods) yn y rhai mwyaf hygyrch. Gall unrhyw un alw dull cyhoeddus, boed yn fewn i'r dosbarth neu'n allanol. Mae'r dulliau hyn yn cael eu defnyddio'n gyffredin i ddarparu rhyngweithio rhwng dosbarthiadau a'u defnyddwyr.
Dyma enghraifft o ddull cyhoeddus:
class Car
def start_engine
puts "The engine has started!"
end
end
my_car = Car.new
my_car.start_engine # Gall unrhyw un alw'r dull hwn
Mae dulliau diogel (protected methods) yn caniatáu mynediad i'r dulliau hyn o fewn y dosbarth a'i ddisgynyddion. Mae hyn yn golygu y gall dulliau diogel gael eu galw gan ddulliau eraill yn yr un dosbarth neu gan ddosbarthiadau sy'n etifeddu ohono.
Dyma enghraifft o ddull diogel:
class Vehicle
def initialize(name)
@name = name
end
protected
def display_name
puts "Vehicle name: #{@name}"
end
end
class Car < Vehicle
def show_name
display_name # Gall y dull hwn alw dull diogel
end
end
my_car = Car.new("Toyota")
my_car.show_name # "Vehicle name: Toyota"
Mae dulliau preifat (private methods) yn y rhai mwyaf cyfyngedig. Gall dulliau preifat gael eu galw yn unig o fewn y dosbarth lle maent wedi'u diffinio. Ni allant gael eu galw gan ddosbarthiadau sy'n etifeddu ohono nac o'r tu allan.
Dyma enghraifft o ddull preifat:
class User
def initialize(username)
@username = username
end
def display_username
puts "Username: #{@username}"
private_method # Gall y dull hwn alw dull preifat
end
private
def private_method
puts "This is a private method."
end
end
user = User.new("john_doe")
user.display_username
# "Username: john_doe"
# "This is a private method."
Mae dulliau modiwl (module functions) yn cynnig dulliau sy'n gallu cael eu galw yn uniongyrchol ar y modiwl heb orfod creu instans o'r dosbarth. Mae hyn yn ddefnyddiol pan fyddwch am greu dulliau sy'n gysylltiedig â'r modiwl ond nad ydynt yn gysylltiedig â'r instans.
Dyma enghraifft o ddull modiwl:
module MathOperations
def self.add(a, b)
a + b
end
end
puts MathOperations.add(5, 3) # "8"
Mae deall gwelededd dulliau yn hanfodol i greu cod sy'n hawdd ei gynnal a'i ddeall. Mae'n helpu i reoli'r mynediad at ddulliau a data, gan sicrhau bod y cod yn cael ei ddefnyddio yn y ffordd a fwriadwyd. Mae hefyd yn lleihau'r risg o gamweithredu trwy gyfyngu ar ble gall dulliau gael eu galw.
Wrth ystyried pa welededd i'w ddefnyddio, mae'n bwysig gofyn y cwestiynau canlynol:
Mae gwelededd dulliau yn Ruby yn gysyniad pwysig sy'n helpu i reoli'r mynediad at ddulliau a data. Mae'r pedair math o welededd - cyhoeddus, diogel, preifat, a dulliau modiwl - yn cynnig dulliau gwahanol i reoli sut y gall dulliau gael eu galw. Mae deall y gwahaniaethau rhwng y dulliau hyn yn hanfodol i greu cod sy'n hawdd ei gynnal a'i ddeall.
Wrth i chi barhau i ddysgu am Ruby, cofiwch ystyried y gwelededd a'r cyd-destun pan fyddwch yn creu dulliau. Mae hyn yn eich helpu i greu cod mwy effeithlon a chynaliadwy.
© 2024 RailsInsights. All rights reserved.