Модификатор abstract указывает на то, что класс может использоваться только в качестве базового класса, создание собственных объектов невозможно.
Производные классы должны реализовывать все методы, объявленные в базовом классе.
Производные классы должны реализовывать все методы, объявленные в базовом классе.
Main.cs
using
System;
abstract
class
Counter {
-
abstract
public
ushort
ResultShow();
-
abstract
public
decimal
Sum();
}
class
Electro : Counter {
-
ushort
showStart;
-
ushort
showEnd;
-
decimal
price;
-
public
Electro(
ushort
arg0,
ushort
arg1,
decimal
arg2) {
-
showStart = arg0;
-
showEnd = arg1;
-
price = arg2;
-
}
-
public
override
ushort
ResultShow() {
-
return
(
ushort
)(showEnd - showStart);
-
}
-
public
override
decimal
Sum() {
-
return
Math.Round((
decimal
)(ResultShow() * price), 2);
-
}
}
class
Program {
-
public
static
int
Main() {
-
Console.WriteLine(
"Расчет электроэнергии\n"
);
-
Console.Write(
"Начальные показания : "
);
-
ushort
showStart =
ushort
.Parse(Console.ReadLine());
-
Console.Write(
"Конечные показания : "
);
-
ushort
showEnd =
ushort
.Parse(Console.ReadLine());
-
Console.Write(
"Цена за 1кВт/ч : "
);
-
decimal
price =
decimal
.Parse(Console.ReadLine());
-
Electro E =
new
Electro(showStart, showEnd, price);
-
Console.WriteLine(
"Сумма за электроэнергию : {0}"
, E.Sum());
-
Console.ReadKey();
-
return
0;
-
}
}
using
System;
abstract
class
Counter {
-
abstract
public
ushort
ResultShow();
-
abstract
public
decimal
Sum();
}
class
Electro : Counter {
-
ushort
showStart;
-
ushort
showEnd;
-
decimal
price;
-
public
Electro(
ushort
arg0,
ushort
arg1,
decimal
arg2) {
-
showStart = arg0;
-
showEnd = arg1;
-
price = arg2;
-
}
-
public
override
ushort
ResultShow() {
-
return
(
ushort
)(showEnd - showStart);
-
}
-
public
override
decimal
Sum() {
-
return
Math.Round((
decimal
)(ResultShow() * price), 2);
-
}
}
class
Program {
-
public
static
int
Main() {
-
Console.WriteLine(
"Расчет электроэнергии\n"
);
-
Console.Write(
"Начальные показания : "
);
-
ushort
showStart =
ushort
.Parse(Console.ReadLine());
-
Console.Write(
"Конечные показания : "
);
-
ushort
showEnd =
ushort
.Parse(Console.ReadLine());
-
Console.Write(
"Цена за 1кВт/ч : "
);
-
decimal
price =
decimal
.Parse(Console.ReadLine());
-
Electro E =
new
Electro(showStart, showEnd, price);
-
Console.WriteLine(
"Сумма за электроэнергию : {0}"
, E.Sum());
-
Console.ReadKey();
-
return
0;
-
}
}
Расчет электроэнергии
Начальные показания : 0
Конечные показания : 100
Цена за 1кВт/ч : 0,3084
Сумма за электроэнергию : 30,84
Начальные показания : 0
Конечные показания : 100
Цена за 1кВт/ч : 0,3084
Сумма за электроэнергию : 30,84