하나의 부모 클래스와 하나의 자식 클래스가 있습니다. 부모에게는 매개 변수를 초기화하는 생성자가 있습니다.C#의 자식 클래스에있는 부모 클래스의 생성자
제 질문은 : 아이가 부모 생성자를 어떻게 보입니까? 자식을위한 생성자를 정의 할 수 있습니까?
하나의 부모 클래스와 하나의 자식 클래스가 있습니다. 부모에게는 매개 변수를 초기화하는 생성자가 있습니다.C#의 자식 클래스에있는 부모 클래스의 생성자
제 질문은 : 아이가 부모 생성자를 어떻게 보입니까? 자식을위한 생성자를 정의 할 수 있습니까?
어린이 클래스의 번호로 base(...)
을 사용할 수 있습니다.
foreacmple : 당신은 단지 아무것도을하지, 일부 특정 매개 변수를 필요는 ctor
를 호출 할 때 BaseClass
기본 ctor
길에 의해 를 호출 할 것이다 발생하지 않는 경우
public class Child : BaseClass
{
public Child() : base(/*some parameters*/) //CALLING BaseClass parametrized ctor
{
}
}
그냥주의 Child
클래스입니다.
자식 클래스에 새 생성자를 만들면 어떻게됩니까? 매개 변수는 자식 또는 부모의 생성자에 따라 초기화됩니다. –
매개 변수화 된 costructor를 사용하는 경우 기본 클래스의 ** 자동으로 ** ** ** 기본 * 생성자라고 할 수있는 유일한 ctor입니다. 따라서 매개 변수화 된 경우에는 적절한 매개 변수를 선택하십시오. – Tigran
어린이를위한 생성자를 정의해야합니다. 물론
public class Parent {
public Parent() {
...
}
}
public class Child : Parent {
public Child() : base() { // calls Parent.ctor
}
}
: 당신은 생성자의 프로토 타입 및 구현 사이 : base()
를 사용하여 기본 클래스의 생성자를 호출 할 수 있습니다.
"기본"키워드 뒤에 있습니다.
public class Fruit
{
string TypeOfFruit { get; set; }
public Fruit (string typeOfFruit)
{
TypeOfFruit = typeOfFruit;
}
}
public class Apple : Fruit
{
string AppleType { get; set; }
public Apple(string appleType) : base("Apple")
{
AppleType = appleType;
}
}
이 상속 샘플을 보여줍니다
코드에 필요한 매개 변수를 전달하는 방법을
public class Parent
{
private object _member;
public Parent(object member)
{
this._member = member;
}
}
public class Child : Parent
{
public Child(object member)
: base(member)
{
}
}
대단히 감사합니다. 정말 도움이되는 대답입니다. –
@AliEssa 문제가 없습니다. StackOverflow에 오신 것을 환영합니다. 도움이 될 답변을 찾으면 투표 할 수 있습니다. 자신의 질문 인 경우 대답을 '수락'하면 가장 좋은 답을 표시 할 수 있습니다. – Aphelion
부모에서 하나 이상의 생성자를 만들 때 같은 매개 변수를 사용하는 자식 생성자도 만들어야한다는 것을 알게되었습니다. –
당신이
한편 부모의 생성자에 대한 조회하는 방법에 대한 클래스의 생성자를 정의하지 않을 때 당신은 아주 잘 기본 하나를 경우에만 제공됩니다 자식 클래스의 생성자를 정의 할 수 있습니다
그것은 매개 변수가없는 생성자가 상위 클래스에 존재하는지 검사하고, 컴파일러가 없으면 컴파일러에서 같은 것을 알 수 있습니다. base("This is the string parameter")
다른 것이 있으면 그 질문을 업데이트하십시오.
보기로는 무엇을 의미합니까? –