.NET의 상속 및 값 유형
.NET의 모든 항목이 객체인지에 대한 질문은 논란을 불러일으켰습니다. 대부분의 유형이 기본 유형 System.Object에서 상속되는 것은 사실이지만 예외도 있습니다.
상속
모든 클래스, 배열, 위임 유형은 System.Object에서 상속됩니다. 그러나 인터페이스, 포인터 유형 및 개방형 매개변수는 그렇지 않습니다. 인터페이스 유형은 System.Object로 변환할 수 있지만 다른 인터페이스 유형에서만 상속됩니다. 포인터와 개방형 매개변수 유형은 상속 관계가 없습니다.
값 유형
정수, 복식, 부울과 같은 값 유형도 시스템에서 상속됩니다. .객체. 그러나 메모리 및 메서드 전달에서는 참조 유형(객체)과 다르게 처리됩니다. 값 유형은 객체에 대한 참조가 아닙니다. 그것들은 객체 그 자체입니다. 값 유형은 스택에 저장되고 참조 유형은 힙에 저장됩니다. 값 유형이 메서드에 전달되면 메서드는 원래 값에 대한 참조가 아닌 값의 복사본을 가져옵니다. 이는 메서드의 값 유형에 대한 변경 사항이 원래 값에 영향을 미치지 않음을 의미합니다.
Boxing
값 유형을 객체로 처리하려면 다음과 같아야 합니다. 박스형. Boxing은 값 유형의 값을 포함하는 힙에 새 개체를 만듭니다. 새 객체는 참조 유형이며 CLR(공용 언어 런타임)에 의해 객체로 처리됩니다.
결론
.NET의 대부분의 유형은 상속됩니다. System.Object에서 값 유형은 예외입니다. 값 유형은 메모리 및 메소드 전달에서 참조 유형과 다르게 처리됩니다. 그러나 필요한 경우 값 유형을 boxing하여 객체로 처리할 수 있습니다.
위 내용은 .NET에서 상속과 값 유형은 어떻게 다릅니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!