Ruby on Rails díl.20, Ruby - Třídy II.

Napsal (») 2. 4. 2007 v kategorii Programování, přečteno: 1221×
obrazky/rubyonrailsn.pngIdeální webhosting pro Ruby on Rails je banan.cz.

Třídní instanční proměnné


Třídy mohou mít instanční proměnné. Toto dá každé třídě proměnné, které nejsou sdíleny jinými třídami v řetězu dědictví.

class Zamestnanec
class << self; attr_accessor :instances; end
def uloz
self.class.instances ||= []
self.class.instances << self
end
def nacti jmeno
@jmeno = jmeno
end
end
class Tester < Zamestnanec; end
class Programator < Zamestnanec; end
Tester.new('Martin').uloz
Tester.new('Lukas').uloz
Programator.new('Jakub').uloz
puts Tester.instances.size # => 2
puts Programator.instances.size # => 1


Třídní metody


Třídní metody jsou deklarovány stejně jako normální metody, až na to, že mají předponu self, nebo jméno třídy, následované periodou. Tyto metody jsou vykonané v Class úrovňi a může být volány bez instance objektu. Nemohou zpřístupnit instanční proměnné ale mají přístup k třídním proměnným.

Příklad:

class MojeTrida
def self.nejaka_metoda
puts 'neco'
end
end
MojeTrida.nejaka_metoda


Výstupy:

něco


Instantizace


Instance objektu je vytvořená ze třídy skrz proces nazývající se instantizace. V Ruby se toto uskutečňuje skrz třídní metodu new.

Příklad:

Objekt = MojeTrida.new(parametry)


Tato funkce vytvoří objekt v paměti a potom deleguje kontrolu nad inicializací funkci třídy jestli je přítomná. Parametry předané do nové funkce jsou vloženy do intialize funkce.

class MojeTrida
def initialize(parametry)
end
end

Štítky: Ruby on Rails
Facebook Twitter Topčlánky.cz Linkuj.cz

Komentáře

Zobrazit: standardní | od aktivních | poslední příspěvky | všechno
Článek ještě nebyl okomentován.


Nový komentář

Téma:
Jméno:
Notif. e-mail *:
Komentář:
  [b] [obr]
Odpovězte prosím číslicemi: Součet čísel devět a osm