Asp.net C#을 처음 사용했습니다. 나는 물체와 상속에 관한 질문을 가지고있다. 2 개의 하위 클래스 (신용 카드 테이블, 은행 계좌 테이블)가있는 상위 클래스 (기본 테이블)가 있으면 재미 있습니다. 다른 클래스에서 기본 테이블 클래스의 객체를 가져옵니다. 제 문제는 제가베이스 테이블이 신용 카드인지 은행 계좌인지 알고 싶습니다.Asp.Net C# 개체 관련 질문
class BaseTable
{
string date;
public string Date
{
get { return date; }
set { date = value; }
}
string description;
public string Description
{
get { return description; }
set { description = value; }
}
}
class CreditCardTable:BaseTable
{
string Amount;
public string amount
{
get { return Amount; }
set { Amount = value; }
}
string Type;
public string type
{
get { return Type; }
set { Type = value; }
}
}
class BankAccountTable:BaseTable
{
string Refr;
public string Ref
{
get { return Refr; }
set { Refr = value; }
}
string debit;
public string Debit
{
get { return debit; }
set { debit = value; }
}
string credit;
public string Credit
{
get { return credit; }
set { credit = value; }
}
}
더 자주 이상과 같이하지 뭔가 설계 오류의 표시입니다. 어쩌면'BaseTable'은'추상적'이어야합니까? 어쩌면 다른 코드는 기본 인스턴스가 아닌 자식 인스턴스를 필요로합니까? 인스턴스의 유형을 알아야하는 구체적인 이유는 무엇입니까? – David
왜'BaseTable '이 어떤 종류인지 알아야합니까? 일반적으로 이것은 설계에 잘못되었다는 것을 의미합니다. 이것에 접근하는 일반적인 방법은 파생 클래스에서 오버라이드 된'BaseTable'에 가상/추상 메소드를 작성하여 유형별 비헤이비어를 구현하는 것입니다. 그렇게하면 BaseTable 참조를 사용하는 모든 것이 가상 메소드를 호출하고 'BaseTable' 참조의 실제 유형에 따라 다른 동작을 얻을 수 있습니다. – spender
pdf를 창조하는 그것의 부호 거기 pdf 신용 카드 pdf의 2 가지의 유형이 있고 사업에서 나는 obj가 신용 카드 또는 은행 구좌인지 검사하고 싶다 그래서 나는 어느 것 창조 할 것을 선택할 수 있는지 – user2401745