Задачи на наследование классов, в которых данные описаны в качестве свойств - C#
Формулировка задачи:
Создать класс Money для работы с денежными суммами в котором для рублей и копеек предусмотрены независимые целочисленные данные. Реализовать метод вывода суммы на экран. На основе класса Money создать класс Good для работы с товаром. Предусмотреть метод, осуществляющий уменьшение цены на заданное число процентов.
Решение задачи: «Задачи на наследование классов, в которых данные описаны в качестве свойств»
textual
Листинг программы
class Money
{
private int rub;
private int cop;
public double copeiki;
public int Rub { get; set; }
public int Cop { get; set; }
public double Copeiki { get; set; }
public Money(int rub, int cop)
{
this.Rub = rub;
this.Cop = cop;
}
public void showSum()
{
Console.WriteLine(this.Rub + (double)this.Cop/100);
}
public double getCopeiki()
{
this.Copeiki = (double)this.Cop / 100;
return this.Copeiki;
}
}
class Goods : Money
{
private double procent;
private double price;
private double copeiki;
public double Procent
{
set
{
if (value > 100 || value < 0)
Console.WriteLine("Wrong procent");
else
procent = value;
}
get { return procent; }
}
public Goods(int rub,int cop,double procent): base(rub, cop)
{
this.Procent = procent;
}
public void showPrice()
{
this.copeiki = this.getCopeiki();
this.price = (this.Rub + this.copeiki)-((this.Rub + this.copeiki) * this.Procent/100);
Console.WriteLine("price = {0}", this.price);
}
}
class Program
{
static void Main(string[] args)
{
Goods good = new Goods(100, 20, 10);
good.showPrice();
Console.ReadKey();
}
}