C #이 이런 식으로 설계된 이유는 무엇입니까? 내가 이해하는 바와 같이, 인터페이스는 행동을 설명하고 특정 행동이 구현되는 인터페이스를 구현하는 클래스에 대한 계약 의무를 설명하는 목적을 제공합니다. 클래스가 공유 메소드에서 해당 동작을 구현하려면 왜 안됩니까? 다음은 내가 염두에 둔 예입니다. // These items will be displayed in a list on the …
구체적으로, 나는이 코드를 시도했다 : package hello; public class Hello { Clock clock = new Clock(); public static void main(String args[]) { clock.sayTime(); } } 그러나 그것은 오류를 주었다 정적 메소드 main에서 비 정적 필드에 액세스 할 수 없음 그래서 나는 clock이것으로 선언을 바꿨다 . static Clock clock = new …
이 질문은 이미 C # /. Net의 맥락에서 요청되었습니다 . 이제 C ++에서 구조체와 클래스의 차이점을 배우고 싶습니다. OO 디자인에서 기술적 차이점과 하나를 선택해야하는 이유에 대해 논의하십시오. 나는 명백한 차이로 시작할 것이다. 지정하지 않는 경우 public:나 private:, 구조체의 멤버는 기본적으로 공용; 클래스 멤버는 기본적으로 비공개입니다. C ++ 사양의 모호한 부분에서 …
인터페이스 메소드를 구현하는 메소드에 주석을 달아야 @Override합니까? 주석 의 javadoc은 다음과 같이Override 말합니다. 메소드 선언이 수퍼 클래스에서 메소드 선언을 대체하도록되어 있음을 나타냅니다. 이 어노테이션 유형으로 메소드에 주석이 달렸지만 수퍼 클래스 메소드를 대체하지 않는 경우, 컴파일러는 오류 메시지를 생성해야합니다. 인터페이스가 기술적으로 수퍼 클래스라고 생각하지 않습니다. 아니면? Question Elaboration
나는 누군가의 코드에서 이것을 보았다. 무슨 뜻이에요? def __enter__(self): return self def __exit__(self, type, value, tb): self.stream.close() from __future__ import with_statement#for python2.5 class a(object): def __enter__(self): print 'sss' return 'sss111' def __exit__(self ,type, value, traceback): print 'ok' return False with a() as s: print s print s
나는 C ++ FAQ를 읽고 friend선언 에 대해 궁금했다 . 나는 개인적으로 사용하지는 않았지만 언어 탐구에 관심이 있습니다. 사용하는 좋은 예는 무엇입니까 friend? FAQ를 조금 더 읽으면 << >>연산자가 과부하되어 해당 클래스의 친구로 추가되는 아이디어가 마음에 듭니다 . 그러나 이것이 캡슐화를 어떻게 깨뜨리지 않는지 잘 모르겠습니다. 이러한 예외가 OOP 인 …
Java의 관점에서 누군가가 물을 때 : 다형성이란 무엇입니까? 겠습니까 과부하 또는 재정의 허용 해답이 될? 나는 그것보다 조금 더 있다고 생각합니다. 구현하지 않고 메소드를 정의한 추상 기본 클래스가 있고 서브 클래스에서 해당 메소드를 정의한 경우 여전히 대체입니까? 오버로드 가 정답이 아니라고 생각 합니다.
Objective-C를 배우고 샘플 코드를 읽으면 객체가 일반적 으로이 방법을 사용하여 생성됩니다. SomeObject *myObject = [[SomeObject alloc] init]; 대신에: SomeObject *myObject = [SomeObject new]; 그것들이 동등한 것을 읽었을 때 이것에 대한 이유가 있습니까?