«access-specifier» 태그된 질문


8
개인 클래스 메소드를 작성하는 방법은 무엇입니까?
개인 클래스 메소드를 작성하는 이러한 접근 방식은 어떻게 작동합니까? class Person def self.get_name persons_name end class << self private def persons_name "Sam" end end end puts "Hey, " + Person.get_name puts "Hey, " + Person.persons_name #=> raises "private method `persons_name' called for Person:Class (NoMethodError)" 그러나 이것은하지 않습니다 : class Person …


7
루비는 왜 개인 및 보호 방법을 모두 가지고 있습니까?
이 기사를 읽기 전에 Ruby의 액세스 제어가 다음과 같이 작동한다고 생각했습니다. public- 모든 객체에 의해 액세스 할 수 있습니다 (예를 들어 Obj.new.public_method) protected -객체 자체와 하위 클래스에서만 액세스 할 수 있습니다 private -protected와 동일하지만 메소드가 서브 클래스에 존재하지 않습니다. 그러나 것으로 보인다 protected와 private같은 역할을 전화 할 수 없다는 사실을 …

5
C ++의 프라이빗 가상 메서드
C ++에서 private 메서드를 가상으로 만드는 이점은 무엇입니까? 오픈 소스 C ++ 프로젝트에서 이것을 발견했습니다. class HTMLDocument : public Document, public CachedResourceClient { private: virtual bool childAllowed(Node*); virtual PassRefPtr<Element> createElement(const AtomicString& tagName, ExceptionCode&); };


9
Ruby의 비공개 모듈 메서드
두 부분으로 된 질문이 있습니다 모범 사례 공용 인터페이스를 사용하여 데이터 구조에서 일부 작업을 수행하는 알고리즘이 있습니다. 현재 하나의 공용 인터페이스 메서드를 제외하고 모두 전용 인 수많은 정적 메서드가있는 모듈입니다. 모든 메소드간에 공유해야하는 인스턴스 변수가 하나 있습니다. 다음은 내가 볼 수있는 옵션이며 가장 좋은 것은 무엇입니까? : 모듈 정적 (루비 …

5
복사 생성자에서 개인 변수에 액세스 할 수있는 이유는 무엇입니까?
클래스의 get-function을 통해서만 private 변수에 액세스 할 수 없다는 것을 배웠습니다. 그런데 왜 복사 생성자에서 액세스 할 수 있습니까? 예: Field::Field(const Field& f) { pFirst = new T[f.capacity()]; pLast = pFirst + (f.pLast - f.pFirst); pEnd = pFirst + (f.pEnd - f.pFirst); std::copy(f.pFirst, f.pLast, pFirst); } 내 선언 : private: …
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.