개발 기본 클래스-.net은 무엇입니까? -techopedia에서 정의

기본 클래스-.net은 무엇입니까? -techopedia에서 정의

차례:

Anonim

정의-기본 클래스-.NET은 무엇을 의미합니까?

C #의 맥락에서 기본 클래스는 다른 클래스를 만들거나 파생시키는 데 사용되는 클래스입니다. 기본 클래스에서 파생 된 클래스를 자식 클래스, 하위 클래스 또는 파생 클래스라고합니다. 기본 클래스는 다른 클래스에서 상속되지 않으며 파생 클래스의 부모로 간주됩니다.


기본 클래스는 파생을 통해 상속이 수행되는 수단을 형성합니다. 기본 클래스에서 파생 된 클래스는 데이터와 동작을 모두 상속합니다. 예를 들어, 차량은 파생 클래스 자동차와 버스를 파생 할 수있는 기본 클래스 일 수 있습니다. 자동차와 버스는 모두 차량이며 각각 기본 클래스의 전문화를 나타냅니다.


Java와 마찬가지로 C ++과 달리 C #은 다중 상속 클래스를 지원하지 않습니다. C #은 모든 가상 멤버에 대해 가상 수정자를 명시 적으로 표시하여 Java와 다릅니다.


기본 클래스는 부모 클래스 또는 수퍼 클래스라고도합니다.

Techopedia에서 기본 클래스 설명-.NET

기본 클래스는 기본 클래스에서 암시 적으로 얻은 코드 (생성자 및 소멸자 제외)를 재사용하고 파생 클래스의 파생 클래스와 관련된 멤버를 추가하거나 재정 의하여 기본 클래스의 기능을 확장 할 수있는 특수 클래스를 만드는 데 도움이됩니다. C #에서 이벤트는 파생 클래스에서 발생할 수있는 기본 클래스에서 선언됩니다. 특정 데이터 형식과 관련이없는 작업을 캡슐화하는 데 사용되는 일반 클래스는 기본 클래스 역할을하며 유연성과 코드 재사용 성을 달성하기 위해 일반 동작을 제공합니다.


C #에서 기본 클래스의 속성 키 :

  • 기본 클래스 멤버 (생성자, 인스턴스 메서드 또는 인스턴스 속성 접근 자)는 "base"키워드를 사용하여 파생 클래스에서 액세스합니다.
  • 기본 클래스는 파생 클래스보다 자동으로 인스턴스화됩니다.
  • 파생 클래스는 일치하는 매개 변수 목록으로 기본 클래스 생성자를 호출하여 인스턴스화 중에 기본 클래스와 통신 할 수 있습니다.
  • 기본 클래스 멤버는 명시 적 캐스트를 통해 파생 클래스에서 액세스 할 수 있습니다.
  • 기본 클래스 자체는 파생 클래스 일 수 있으므로 클래스에는 여러 기본 클래스가있을 수 있습니다.
  • 파생 클래스의 멤버는 기본 클래스의 공개, 보호, 내부 및 보호 내부 멤버에 액세스 할 수 있습니다.
  • 상속의 전 이적 특성으로 인해 파생 클래스에는 기본 클래스가 하나만 있지만 기본 클래스의 부모에서 선언 된 멤버를 상속합니다.
  • 기본 클래스의 메서드를 가상으로 선언하면 파생 클래스는 해당 메서드를 자체 구현으로 재정의 할 수 있습니다. 재정의 된 메소드와 재정의 메소드 및 특성은 모두 virtual, abstract 또는 override와 같은 동일한 액세스 레벨 수정자를 가져야합니다.
  • 키워드 "abstract"가 메소드에 사용되면 해당 클래스에서 직접 상속되는 비추 상 클래스에서 키워드를 대체해야합니다.
  • 추상 기본 클래스는 선언에서 "abstract"키워드를 사용하여 작성되며 "new"키워드를 사용하여 직접 시작을 방지하는 데 사용됩니다. 추상 메소드를 구현하는 파생 클래스를 통해서만 사용할 수 있습니다.
  • 기본 클래스는 모든 멤버를 "밀봉"으로 선언하여 다른 클래스가 상속하지 못하게 할 수 있습니다.
  • 키워드 "new"를 사용하여 기본 클래스 멤버를 파생 클래스에서 숨길 수 있습니다. 이는 멤버가 기본 멤버를 대체하지 않아야 함을 나타냅니다. "new"를 사용하지 않으면 컴파일러에서 경고를 생성합니다.

기본 클래스와 인터페이스를 서로 바꿔 사용할 수 있지만 클래스는 버전 관리 측면에서 인터페이스보다 유연합니다. 다음과 같은 시나리오를 제외한 대부분의 경우 기본 클래스가 선호됩니다.

  • 파생되지 않은 클래스의 기반이되는 여러 관련되지 않은 클래스
  • 클래스는 이미 기본 클래스를 설정했습니다
  • 집계가 적합하지 않거나 실용적이지 않습니다.
이 정의는 C #의 맥락에서 작성되었습니다.
기본 클래스-.net은 무엇입니까? -techopedia에서 정의