다른 모듈 안에 클래스와 모듈을 중첩하여 네임 스페이스에 그룹화하는 개념에 익숙합니다.루비 중첩 클래스와 모듈
class A
class B
def method_B
...
end
end
end
중첩 모듈 다른 클래스에서 다른 클래스 내에서
중첩 클래스 뒤에 아이디어/목적은
class A module c def method_c ... end end end
덕분에, 재 무엇
다른 모듈 안에 클래스와 모듈을 중첩하여 네임 스페이스에 그룹화하는 개념에 익숙합니다.루비 중첩 클래스와 모듈
class A
class B
def method_B
...
end
end
end
중첩 모듈 다른 클래스에서 다른 클래스 내에서
중첩 클래스 뒤에 아이디어/목적은
class A
module c
def method_c
...
end
end
end
덕분에, 재 무엇
의미있는 의미를 드러내는 것과 관련하여 관련된 문제를 그룹화하는 것입니다. 숫자 1의 예로 HTTP :: Request (더 큰 HTTP 프로토콜 클래스에 포함 된 요청 클래스)는 FTP :: Request와는 아주 다른 것입니다. 모듈을 사용하면 Mixin을 처리하기 위해 Behavior :: InstanceMethods 및 Behavior :: ClassMethods의 공통 루비 관용구를 사용할 수 있습니다.
클래스도 네임 스페이스이므로 동일한 생각입니다. Class는 Module의 하위 클래스이므로 모듈의 컨텍스트에서 얻으면 클래스의 컨텍스트에서 가져옵니다.
이들은 모듈 내의 클래스의 예이지만 질문은 클래스의 클래스에 대한 것입니다. – Chuck
HTTP는 모듈 일 필요는 없습니다. 그것은 당신이 프로그램을 어떻게 디자인 하느냐에 따라 수업이 될 수 있습니다. –
그래서 그것은 단지 네임 스페이스 일 뿐이며, 클래스를 둘러싸는 클래스 만이 동봉 된 클래스의 인스턴스를 생성 할 수있는 것과 같은 특별한 동작을하지 않습니까? – user290870