UNIX 파일 시스템 권한과 클래스의 인스턴스 변수 가시성 (public, protected, private, global 등) 간에는 몇 가지 차이점이 있습니다. 전자는 ACL이며 개체에 연결된 사용 권한 목록을 정의하고 후자는 defines how much the rest of the system can access the variable입니다.
방법 중 그와 어쨌든
, ...
루비 정의하여이 다루는 :
를 그래서 나는 경우 외모는 Blog
입니다. 같은 :
attr_accessor :title
는 '게터'이 같은 '세터'로 번역
class Blog
attr_accessor :title
end
: 나는 같은 클래스에 attr_reader :title
을 정의 된 경우
def title=(value)
@title = value
end
def title
@title
end
반대로, 그것은로 번역 가져옵니다 ' 게터
,536 : 세터 ''는로 번역됩니다
def title
@title
end
attr_writer :title
동안 '
public int Foo { get; private set; }
이 별도의 getter 메소드를 작성하는 복잡성의 대부분을 저장 :
def title=(value)
@title = value
end
프로젝트의 사용자 모델은 무엇입니까? '대중'이란 무엇을 의미합니까? –
사용자가 없습니다. 클래스 필드 홍보 (공개, 비공개, 보호)에 대해 이야기하고 있습니다. – Shriken
Ruby가 이것을 뒤집습니다 : 인스턴스 변수에 대한 공개 액세스가 없습니다. 읽기와 쓰기 모두 항상 접근자를 필요로합니다 (루비 용어로). 기본 접근 자 (변수 읽기/쓰기)를 매우 쉽게 자동 생성 할 수 있습니다. 자동 생성 된 접근자는 속도에 맞게 최적화됩니다. 그러므로,'attr_reader : foo'는 여러분이 묻는 것을 할 것입니다. – Amadan