ВУЗ:
Составители:
Рубрика:
85
Глава 6. Наследование и полиморфизм позднего
связывания
6.1. Наследование
Напомним, что наследование – это механизм, который позволяет
создавать новые классы на основе существующих, используя их структурные
и поведенческие свойства – поля, методы, свойства и пр.
Рассмотрим далее использование этого принципа на примере классов
прямоугольной и квадратной матриц (Matrix – базовый класс, QMatrix –
производный класс). Объект класса Matrix определяется двумерным
массивом ее элементов. Поведенческие свойства класса определяются
операциями матричного исчисления.
Так как квадратная матрица есть частный случай прямоугольной,
структурные и поведенческие свойства класса «Квадратная матрица»
(QMatrix) будут идентичны свойствам класса Matrix. Поэтому реализуем
класс «Квадратная матрица» как наследник класса Matrix, добавив в него
методы, специфичные для квадратной матрицы (вычисление определителя и
получение обратной матрицы).
Приведем исходный код класса Matrix.
class Matrix
{
// массив элементов матрицы
double[,] a;
// конструктор матрицы с указанием ее размеров
public Matrix(int rows, int cols)
{
a = new double[rows, cols];
}
// метод заполнения матрицы случайными числами
public void InputMatrix()
{
int rows = Rows, cols = Cols;
Random r = new Random();
for (int i = 0; i < rows; i++)
for (int j = 0; j < cols; j++)
a[i, j] = (double)r.Next(100);
}
Глава 6. Наследование и полиморфизм позднего
связывания
6.1. Наследование
Напомним, что наследование – это механизм, который позволяет
создавать новые классы на основе существующих, используя их структурные
и поведенческие свойства – поля, методы, свойства и пр.
Рассмотрим далее использование этого принципа на примере классов
прямоугольной и квадратной матриц (Matrix – базовый класс, QMatrix –
производный класс). Объект класса Matrix определяется двумерным
массивом ее элементов. Поведенческие свойства класса определяются
операциями матричного исчисления.
Так как квадратная матрица есть частный случай прямоугольной,
структурные и поведенческие свойства класса «Квадратная матрица»
(QMatrix) будут идентичны свойствам класса Matrix. Поэтому реализуем
класс «Квадратная матрица» как наследник класса Matrix, добавив в него
методы, специфичные для квадратной матрицы (вычисление определителя и
получение обратной матрицы).
Приведем исходный код класса Matrix.
class Matrix
{
// массив элементов матрицы
double[,] a;
// конструктор матрицы с указанием ее размеров
public Matrix(int rows, int cols)
{
a = new double[rows, cols];
}
// метод заполнения матрицы случайными числами
public void InputMatrix()
{
int rows = Rows, cols = Cols;
Random r = new Random();
for (int i = 0; i < rows; i++)
for (int j = 0; j < cols; j++)
a[i, j] = (double)r.Next(100);
}
85
Страницы
- « первая
- ‹ предыдущая
- …
- 83
- 84
- 85
- 86
- 87
- …
- следующая ›
- последняя »
