2011년 6월 2일 목요일

Class Methods

Class Methods

클래스가 특정한 객체에 얽매이지 않은 독립적인 매서드를 제공해야 할때 사용할수 있다(예, Song.new). 클래스 메서드는 선언부에서 인스턴스 메서드와 구별된다. 클래스 메서드를 선언할 때는 클래스 이름과 점을 메서드 이름앞에 붙인다.

class Example

 def instMeth              # instance method
 end

 def Example.classMeth     # class method
 end

end
노래의 길이를 체크하여 너무긴 노래를 play 하지 못하게 한다면
class SongList
 MaxTime = 5*60           #  5 minutes
 def SongList.isTooLong(aSong)
   return aSong.duration > MaxTime
 end
end
song1 = Song.new("Bicylops", "Fleck", 260)
SongList.isTooLong(song1)»false
song2 = Song.new("The Calling", "Santana", 468)
SongList.isTooLong(song2)»true



위 코드에서 MaxTime은 상수이다. isTooLong 메서드에서 인자로 주어진 Song 객체의 duration을 체크하여 초과여부를 리턴한다.

댓글 없음:

댓글 쓰기

블록체인 개요 및 오픈소스 동향

블록체인(block chain) 블록체인은 공공 거래장부이며 가상 화폐로 거래할때 발생할때 발생할 수 있는 해킹을 막는 기술. 분산 데이터베이스의 한 형태로, 지속적으로 성장하는 데이터 기록 리스트로서 분산 노드의 운영자에 의한 임의 조작이 불가...