Как реализовать программно иерархию классов? Доброго времени суток! Есть задача, которую надо выполнить: Разработать и реализовать программно иерархию классов для работы со счетом вкладчика банка. Для этого следует выполнить следующие задачи: 1. Разработать и реализовать программно базовый класс Bill. 2. Разработать и реализовать программно базовый класс Depositor. 3. Разработать и реализовать программно производный класс BillDepositor. 4. В главной части программы продемонстрировать работу созданной иерархии классов.using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; class Bill { string _ID; double _Balance, Persent; protected string ID { get { return _ID; } set { value = _ID; } } protected double Balance { get { return _Balance; } set { value = _Balance; } } public Bill(string ID, double Balance) { this.ID = ID; this.Balance = Balance; Persent = 0.03; } public override string ToString() { return "Bill number: " + ID + "Balance: " + Balance; } ~Bill() { } } class Depositor { string _FullName, _Passport; protected string FullName { get { return _FullName; } set { value = _FullName; } } protected string Passport { get { return _Passport; } set { value = _Passport; } } public Depositor(string FullName, string Passport) { this.FullName = FullName; this.Passport = Passport; } public override string ToString() { return "Full Name: " + FullName + "Passport seria/number: " + Passport; } ~Depositor() { } } class BillDepositor : Depositor { double _MaxBill; string _Password; protected double MaxBill { get { return _MaxBill; } set { value = _MaxBill; } } protected string Password { get { return _Password; } set { value = _Password; } } public BillDepositor(string Password, double MaxBille, string FullName, string Passport) : base(FullName, Passport) { this.MaxBill = MaxBill; this.Password = Password; } } class Program { static void Main() { } } Как в C# можно сделать, что бы BillDepositor наследовался от Bill и Depositor. Я пробывал:using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;
class Bill { string _ID; double _Balance, Persent;
protected string ID { get { return _ID; } set { value = _ID; } }
protected double Balance { get { return _Balance; } set { value = _Balance; } }
public Bill(string ID, double Balance) { this.ID = ID; this.Balance = Balance; Persent = 0.03; }
Ошибку "does not contain a constructor that takes 8 arguments" можно исправить, добавив конструктор в класс Bill, который будет принимать параметры ID и Balance и вызывать базовый конструктор класса Object.
Ошибку "does not contain a constructor that takes 8 arguments" можно исправить, добавив конструктор в класс Bill, который будет принимать параметры ID и Balance и вызывать базовый конструктор класса Object.
Вот исправленный код:
using System;class Bill {
protected string ID { get; set; }
protected double Balance { get; set; }
protected double Persent;
public Bill(string ID, double Balance) {
this.ID = ID;
this.Balance = Balance;
Persent = 0.03;
}
}
class Depositor : Bill {
protected string FullName { get; set; }
protected string Passport { get; set; }
public Depositor(string FullName, string Passport, string ID, double Balance) : base(ID, Balance) {
this.FullName = FullName;
this.Passport = Passport;
}
}
class BillDepositor : Depositor {
protected double MaxBill { get; set; }
protected string Password { get; set; }
public BillDepositor(double MaxBill, string Password, string FullName, string Passport, string ID, double Balance)
: base(FullName, Passport, ID, Balance) {
this.MaxBill = MaxBill;
this.Password = Password;
}
}
class Program {
static void Main() {
BillDepositor bd = new BillDepositor(1000, "password123", "John Doe", "1234567890", "1", 500);
Console.WriteLine(bd.ID);
Console.WriteLine(bd.Balance);
Console.WriteLine(bd.FullName);
Console.WriteLine(bd.Passport);
Console.WriteLine(bd.MaxBill);
Console.WriteLine(bd.Password);
}
}
Теперь класс BillDepositor наследуется от классов Bill и Depositor, и ошибка должна быть исправлена.