NAMESPACE에서는 별칭을 사용하여 기존 NAMESPACE나 다른 유형의 데이터를 참조할 수도 있습니다.
별칭 사용 형식은 다음과 같습니다.
별칭 사용 = 기존 유형
예: using soholife = System;
아래 몇 가지 예를 통해 이해를 심화해 보겠습니다.
네임스페이스 N1.N2
{
클래스 A {}
}
네임스페이스 N3
{
사용 A = N1.N2.A;
클래스 B: A {}
}
여기서 N3에서 A는 N1.N2.A의 별칭이고 N3.B는 N1.N2.A에서 상속됩니다. 마찬가지로 다음 방법을 사용하여 동일한 효과를 얻을 수도 있습니다. N3
{
R = N1.N2 사용;
클래스 B: R.A {}
}
이 말했습니다. 여기서 질문하고 싶습니다.
namespace N1.N2
{
class A {}
}
네임스페이스 N3
{
클래스 A {}
}
네임스페이스 N3
{
using A = N1.N2.A;
}
이렇게 쓰면 문제가 없을까요?
답은 당연히 예, 틀리다입니다! 별칭은 NAMESPACE에서 고유해야 하고 위의
클래스 a{}가 이미 있으므로 A =N1.NE.A;를 사용하고 있으므로 뭔가 잘못되었을 것입니다! 하지만
B =N1.N2.A;를 사용하면 결과는 어떻게 될까요? 친구들이여, 스스로 생각해 보십시오! 더 이상 말하지 않겠습니다!
끝난 줄 알았는데, 아직 명확하게 설명하지 못한 것이 하나 있다는 것을 발견했습니다. 하하. 나중에 집에 갈 수 있는데 아직도 문에 문제가 있습니다.
네임스페이스 N1.N2
{
클래스 A {}
}네임스페이스 N3{R = N1.N2 사용;}네임스페이스 N3{class B: R.A {} }위의 예에서는 어떻게 생각하시는지 모르겠지만 맞나요? 실수? 대답하자면 틀렸어요! (하하, 예전부터 객관식 질문을 하는 버릇이 있었어요. 이런 질문은 어떤 대답이든 틀렸어요! 그런데 이유를 설명할 수가 없네요!)정말 그럴게요. 위 프로그램부터 시작하는 게 맞다고 생각했는데 나중에 알게 됐어요. . . , 아아, 아직 책을 더 읽어야 할 것 같습니다!
별칭을 별도의 단위에서 사용할 경우 해당 별칭은 해당 단위(NAMESPACE 또는 기타)에서만 사용할 수 있고 다른 단위에서는 사용할 수 없으므로 위의 예에서는 두 번째 N3에서 R을 사용하면 R을 알 수 없다는 메시지가 표시됩니다! 물론 이 방법을 사용하려면 N3 외부에 별칭 R을 작성하는 방법이 여전히 있습니다. 다음과 같이
그럼 말을 너무 많이 했으니 다 이해할 수 있을 것 같아요. 이제 NAMESPACE에 대한 몇 가지 아이디어를 얻을 수 있습니다! 이것이 가능하다면 내 목표는 달성된 것이다!
위 내용은 C#의 네임스페이스 기본(2) 내용입니다. 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!