2017-12-01 1 views
-15

아래 코드를 입력 한 다음 코드 뒤에 넣을 방향을 설정합니다.C#에서 다른 클래스를 추가하는 방법

방향이 주어진다 : 할당을 완료하려면 GrandParent 클래스라는 다른 클래스를 추가하고 GrandParent라는 것을 제외하고는 부모 클래스 인 처럼 보이게 만듭니다.

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 

namespace Assignment14 
{ 
    public class ParentClass 
    { 
     public ParentClass() 
     { 
      Console.WriteLine("Parent Constructor."); 
     } 
    } 

     public class ChildClass : ParentClass 
     { 
      public ChildClass() 
      { 
       Console.WriteLine("Child Constructor."); 
      } 

     public static void Main() 
     { 
      ChildClass child = new ChildClass(); 
      Console.Write("Hit any key to close"); Console.ReadKey(true); 
     } 
    } 
} 
+0

시간이 없어서는 안됩니다. –

+5

'C# 기본 사항과 클래스 섹션에 초점'에 Google 검색을 수행하고 단일 네임 스페이스 내에 여러 클래스를 만드는 방법 – MethodMan

+6

직접 문제를 파악할 시간이 없다면 문제가 될지 여부를 재검토해야합니다. 개발자가 귀하에게 적합한 전문적인 선택이었습니다.세계는 더 게으르고 무식한 프로그래머를 필요로하지 않습니다. – silkfire

답변

0

나는 C#에서 상속에 대해 당신을 가르 칠 수있는 링크를 제공하고 여기서 일 inheretance 않는 방법. 콘솔 API를 사용하고 있지만 Windows 양식 API를 사용합니다. 이 링크는 추상 및 가상 메소드, 추상 기본 클래스 및 인터페이스에 대한 이해를 돕습니다.

https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/inheritance

상속 함께 캡슐화 및 다형성 객체 지향 프로그래밍의 세 가지 주요 특징 중 하나이다. 상속을 사용하면 다른 클래스에 정의 된 비헤이비어를 재사용, 확장 및 수정하는 새 클래스를 만들 수 있습니다. 멤버가 상속 된 클래스를 기본 클래스라고하고 해당 멤버를 상속 한 클래스를 파생 클래스라고합니다. 파생 클래스는 하나의 직접 기본 클래스 만 가질 수 있습니다. 그러나 상속은 전이 적입니다. ClassC가 ClassB에서 파생되고 ClassB가 ClassA에서 파생되면 ClassC는 ClassB 및 ClassA에 선언 된 멤버를 상속합니다.

개념적으로 파생 클래스는 기본 클래스의 특수화입니다. 예를 들어 기본 클래스가 Animal 인 경우 Mammal이라는 파생 클래스와 파충류라는 파생 클래스가있을 수 있습니다. 포유류는 동물이고 파충류는 동물이지만 파생 된 각 클래스는 기본 클래스의 다양한 전문화를 나타냅니다.

클래스를 정의하여 다른 클래스에서 파생되면 파생 클래스는 생성자와 종료자를 제외하고 기본 클래스의 모든 멤버를 암시 적으로 얻습니다. 파생 클래스는이를 다시 구현하지 않고도 기본 클래스의 코드를 재사용 할 수 있습니다. 파생 클래스에서 더 많은 멤버를 추가 할 수 있습니다. 이 방식으로 파생 클래스는 기본 클래스의 기능을 확장합니다.

다음 그림은 일부 비즈니스 프로세스에서 작업 항목을 나타내는 WorkItem 클래스를 보여줍니다. 모든 클래스와 마찬가지로 System.Object에서 파생되고 모든 메서드를 상속합니다. WorkItem은 자체 멤버 5 명을 추가합니다. 생성자는 상속되지 않기 때문에 생성자가 포함됩니다. ChangeRequest 클래스는 WorkItem에서 상속되며 특정 종류의 작업 항목을 나타냅니다. ChangeRequest는 WorkItem 및 Object에서 상속 한 멤버에 두 개의 멤버를 더 추가합니다. 자체 생성자를 추가해야하며 originalItemID도 추가합니다. 속성 originalItemID를 사용하면 ChangeRequest 인스턴스가 변경 요청이 적용되는 원본 WorkItem과 연결될 수 있습니다.

이러한 개념의 모든

Understand Inheritance

다른 클래스에 정의 된 동작을, 다시 새로운 클래스를 생성, 확장, 수정 할 수 있도록하는 것이 중요합니다.

행운을 빈다.

+0

당신 말이 맞아요. 추가 답변을 위해 내 답변을 업데이트했습니다. 나는 이것이 개념을 명확히하고 충분하게 해줄 답이라고 생각한다. –

+0

내 친구 고마워. –

+0

당신은 환영합니다. 그것이 있을지도 모른다라고하는 생각. 프로젝트에 행운을 비네. –

-2
using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 

namespace Assignment14 
{ 
    public class GrandParentClass 
    { 
     public GrandParentClass() 
     { 
      Console.WriteLine("Grandparent Constructor."); 
     } 
    } 

    public class ParentClass : GrandParentClass 
    { 
     public ParentClass() 
     { 
      Console.WriteLine("Parent Constructor."); 
     } 
    } 

    public class ChildClass : ParentClass 
    { 
     public ChildClass() 
     { 
      Console.WriteLine("Child Constructor."); 
     } 
     public static void Main() 
     { 
      ChildClass child = new ChildClass(); 
      Console.Write("Hit any key to close"); 
      Console.ReadKey(true); 
     } 
    } 
} 
+1

의견이 필요합니다. –

+0

동료 학생으로서 향후 경쟁을 없애기 위해이 솔루션을 게시하고 있습니다. (내 경험으로는 학교 친구가 저에게서 복사를 시작하면 결코 멈추지 않습니다.) 이것은 다른 사람들을 통해 더 많은 잠재 고객에게 다가 갈 수있는 방법 일뿐입니다 학교에서.) 대답은 어쨌든 꽤 자명하다. 그리고 익명의 사용자로서 나는 그 점들에 관심이 없다. – user9041343

+0

당신의 답은 기본 경쟁조차도 견딜 수없는 것처럼 들리지만 대답은 아닙니다 ... – MethodMan

관련 문제