ВУЗ:
Составители:
Рубрика:
106
Такие методы называются абстрактными методами. При объявлении
такого метода следует указывать ключевое слово abstract
abstract void Method();
Если в классе определен хотя бы один абстрактный метод, то класс
является абстрактным и при его описании также указывается ключевое
слово abstract. Абстрактный класс не может использоваться для создания
объектов, поскольку не полностью определена его реализация. Его можно
применять только в качестве базового класса, переопределив в его потомках
абстрактные функции. Если в производном классе не будет переопределена
хотя бы одна абстрактная функция базового класса, то он также будет
абстрактным. При его описании ключевое слово abstract обязательно.
В программах можно создавать ссылки на абстрактный класс для
хранения адресов объектов классов-потомков.
Этот прием используем для иерархии классов различных типов
уравнений. Базовый класс Equation будет являться абстрактным – в нем
будет определен абстрактный метод Solve(), поскольку абстрактное
уравнение решить нельзя. В дочерних классах этот метод определяется для
решения конкретных видов уравнений. Приведем определение базового
класса для этого случая.
namespace AbstarctClass
{
// абстрактный базовый класс уравнения
abstract public class Equation
{
protected const int infinity = Int32.MaxValue;
protected int count = -1;
// абстрактный метод решения уравнения
public abstract void Solve();
// метод создания объектов-наследников
public static Equation CreateEquation
(params double[] coef)
{
double a, b, c;
switch (coef.Length)
{
case 3:
a = coef[0];
Такие методы называются абстрактными методами. При объявлении
такого метода следует указывать ключевое слово abstract
abstract void Method();
Если в классе определен хотя бы один абстрактный метод, то класс
является абстрактным и при его описании также указывается ключевое
слово abstract. Абстрактный класс не может использоваться для создания
объектов, поскольку не полностью определена его реализация. Его можно
применять только в качестве базового класса, переопределив в его потомках
абстрактные функции. Если в производном классе не будет переопределена
хотя бы одна абстрактная функция базового класса, то он также будет
абстрактным. При его описании ключевое слово abstract обязательно.
В программах можно создавать ссылки на абстрактный класс для
хранения адресов объектов классов-потомков.
Этот прием используем для иерархии классов различных типов
уравнений. Базовый класс Equation будет являться абстрактным – в нем
будет определен абстрактный метод Solve(), поскольку абстрактное
уравнение решить нельзя. В дочерних классах этот метод определяется для
решения конкретных видов уравнений. Приведем определение базового
класса для этого случая.
namespace AbstarctClass
{
// абстрактный базовый класс уравнения
abstract public class Equation
{
protected const int infinity = Int32.MaxValue;
protected int count = -1;
// абстрактный метод решения уравнения
public abstract void Solve();
// метод создания объектов-наследников
public static Equation CreateEquation
(params double[] coef)
{
double a, b, c;
switch (coef.Length)
{
case 3:
a = coef[0];
106
Страницы
- « первая
- ‹ предыдущая
- …
- 104
- 105
- 106
- 107
- 108
- …
- следующая ›
- последняя »
