У меня есть 3 класса: класс PassengerDetails, который наследуется классом FlightDetails, который, в свою очередь, наследуется классом Details. У обоих, PassengerDetails и FlightDetails есть метод Accept, который принимает некоторые параметры и назначает его локальным переменным (объявленным как защищенным) этого класса. Что мне нужно сделать, это использовать метод Show in Details. Я хочу напечатать значения этих локальных переменных класса PassengerDetails и FlightDetails. вот несколько частей всего моего кода:Как получить доступ к значению переменных-членов базового класса из производного класса
class PassengerDetails
{
protected string strFirstName;
protected int iAge;
public void Accept(string FirstName, int Age)
{
strFirstName = FirstName;
iAge = Age;
}
}
class FlightDetails:PassengerDetails
{
protected DateTime dt;
protected int iNumPass;
public void Accept_1(DateTime date,int NumPass)
{
dt = date;
iNumPass = NumPass;
}
}
class Details : FlightDetails
{
public void Show(Label lbl)
{
lbl.Text= "" + strFirstName +"\n"+ iAge +"\n"+ dt.ToString() + "\n"+ iNumPass;
}
private void btnSubmit_Click(object sender, EventArgs e)
{
PassengerDetails pass = new PassengerDetails();
pass.Accept(txtFName.Text,Convert.ToInt32(txtAge.Text));
}
private void btn2Submit_Click(object sender, EventArgs e)
{
FlightDetails fgt = new FlightDetails();
fgt.Accept_1(Convert.ToDateTime(dtDep.Text),Convert.ToInt32(txtNPass.Text));
Details det = new Details();
det.Show(lblShow);
, когда я это сделать, все это я получаю значение этих локальных переменных по умолчанию. может кто-нибудь помочь?
Эта иерархия наследования * причудливая *. Как детали детали своего полета? Как данные о рейсе являются своего рода пассажирскими деталями? Разве не имело бы смысла иметь Детали как базовый класс FlightDetails и PassengerDetails, а FlightDetails содержит коллекцию PassengerDetails? Таким образом, вы будете представлять отношения «детали полета - это детализация деталей, детали пассажиров - это детали, детали рейса включают детали всех пассажиров». –