ホスト いわきさん

記録  倉木

initializeメソッド

new メソッドが実行されるときに、自動実行されるメソッド

class Drink
	def initialize
		# 処理
	end
end

引数を取ることができ、 new(”hoge”) で”hoge” を渡すことにできる

クラスメソッド

クラス.メソッド で使う

self.メソッド または class << self end 内に定義する

class Drink
	def self.weclome
		puts "hello"
	end

	# または

	class << self
		def welcome
			puts "hello"
		end
		 def
			... 
	end
end

継承

class 子クラス < 親クラス で継承する

子は親のメソッドをすべて受け継ぐ

子と親に同名メソッドがある場合は、子のメソッドが優先され使用される

子クラスに super を使用すると親のメソッドを呼び出せる

class 親
	def name
		@name
	end
  def full_name
		@name
	end
end

class 子 < 親     #継承
	def item
		@item
	end
	def full_name
		"#{@name} #{@item}" #親で定義している@nameもつかえる
	end
	#親と同じメソッドを使う場合
	 def full_name
		super               #親のメソッド
	end
end

クラスメソッドを制限する

private public を使う

class Foo
	def a         #public
	end

	**private** def b  #これだけprivate
	end

	def c         #public
	end
	
	**private       #以降private**
	def d
	end
	...

	**public        #以降public**
	...

クラス外でのメソッド使用を禁止する。

使うとNoMethodError がでる

class Foo
#public
	def a
	end
#private
	private def b
	end
#public
	def c
	end

	**private #これ以降private
	def 
	...
	public #これ以降puiblic
	...**
end