Наследование — создание новых классов из уже существующих, которые наследуют члены базового класса.
Множественное наследование в С# не возможно, в С++ — да.
Класс, который наследуется — базовый.
Класс, который его наследует — производный.
Если члены базового класса имеют модификатор private, то в производном классе они не доступны.
Если члены базового класса имеют модификатор protected, то для всех они не доступны, а в производном классе они доступны.
Если в базовом классе, конструктор принимает параметры, то в конструкторе производного класса они должны быть также отображены с помощью ключевого слова base, которое в данном аспекте выступает инициализатором базового класса.
Множественное наследование в С# не возможно, в С++ — да.
Класс, который наследуется — базовый.
Класс, который его наследует — производный.
Если члены базового класса имеют модификатор private, то в производном классе они не доступны.
Если члены базового класса имеют модификатор protected, то для всех они не доступны, а в производном классе они доступны.
Если в базовом классе, конструктор принимает параметры, то в конструкторе производного класса они должны быть также отображены с помощью ключевого слова base, которое в данном аспекте выступает инициализатором базового класса.
Main.cs
usingSystem;//базовый классclassCounter {-
ushortshowStart; -
ushortshowEnd; -
publicCounter(ushortarg0,ushortarg1) { -
showStart = arg0; -
showEnd = arg1; -
} -
publicushortResulShow() { -
return(ushort)(showEnd - showStart); -
} }//производный классclassPrice : Counter {-
decimalprice; -
/*инициализатором базового класса является ключевое слов base, -
в конструкторе производного класса указываем аргументы базового класса, -
затем аргументы производного класса, а в инициализаторе подтверждаем -
аргументы базового класса, но уже без объявления типа данных*/ -
publicPrice(ushortarg0,ushortarg1,decimalarg2) -
:base(arg0, arg1) { -
price = arg2; -
} -
publicdecimalSum() { -
returnMath.Round((decimal)(ResulShow()*price), 2); -
} }classProgram {-
publicstaticintMain() { -
Console.WriteLine("оплата за электроэнергию\n"); -
Console.Write("Введите начальные показания счетчика : "); -
ushortshow_start =ushort.Parse(Console.ReadLine()); -
Console.Write("Введите конечные показания счетчика : "); -
ushortshow_end =ushort.Parse(Console.ReadLine()); -
Console.Write("Введите цену за 1 кВт/ч : "); -
decimalprice =decimal.Parse(Console.ReadLine()); -
Price P =newPrice(show_start, show_end, price); -
Console.WriteLine("Сумма за электроэнергию : {0}", P.Sum()); -
Console.ReadKey(); -
return0; -
} }
usingSystem;//базовый классclassCounter {-
ushortshowStart; -
ushortshowEnd; -
publicCounter(ushortarg0,ushortarg1) { -
showStart = arg0; -
showEnd = arg1; -
} -
publicushortResulShow() { -
return(ushort)(showEnd - showStart); -
} }//производный классclassPrice : Counter {-
decimalprice; -
/*инициализатором базового класса является ключевое слов base, -
в конструкторе производного класса указываем аргументы базового класса, -
затем аргументы производного класса, а в инициализаторе подтверждаем -
аргументы базового класса, но уже без объявления типа данных*/ -
publicPrice(ushortarg0,ushortarg1,decimalarg2) -
:base(arg0, arg1) { -
price = arg2; -
} -
publicdecimalSum() { -
returnMath.Round((decimal)(ResulShow()*price), 2); -
} }classProgram {-
publicstaticintMain() { -
Console.WriteLine("оплата за электроэнергию\n"); -
Console.Write("Введите начальные показания счетчика : "); -
ushortshow_start =ushort.Parse(Console.ReadLine()); -
Console.Write("Введите конечные показания счетчика : "); -
ushortshow_end =ushort.Parse(Console.ReadLine()); -
Console.Write("Введите цену за 1 кВт/ч : "); -
decimalprice =decimal.Parse(Console.ReadLine()); -
Price P =newPrice(show_start, show_end, price); -
Console.WriteLine("Сумма за электроэнергию : {0}", P.Sum()); -
Console.ReadKey(); -
return0; -
} }
оплата за электроэнергию
Введите начальные показания счетчика : 0
Введите конечные показания счетчика : 100
Введите цену за 1 кВт/ч : 0,3084
Сумма за электроэнергию : 30,84
Введите начальные показания счетчика : 0
Введите конечные показания счетчика : 100
Введите цену за 1 кВт/ч : 0,3084
Сумма за электроэнергию : 30,84