Основные принципы объектно-ориентированного программирования: инкапсуляция, наследование, полиморфизм. Пример работы с классами

Автор: Пользователь скрыл имя, 19 Марта 2012 в 21:31, лекция

Краткое описание

Класс — это сложная структура, включающая, помимо описания данных, описание процедур и функций, которые могут быть выполнены над представителем класса — объектом. В Delphi объект — это динамическая структура. Переменная-объект содержит не данные, а ссылку на данные объекта. Поэтому программист должен позаботиться о выделении памяти для этих данных.

Файлы: 1 файл

Основные принципы объектно.docx

— 16.59 Кб (Скачать)

Основные принципы объектно-ориентированного программирования: инкапсуляция, наследование, полиморфизм. Пример работы с классами.

Класс — это сложная  структура, включающая, помимо описания данных, описание процедур и функций, которые могут быть выполнены  над представителем класса — объектом. В Delphi объект — это динамическая структура. Переменная-объект содержит не данные, а ссылку на данные объекта. Поэтому программист должен позаботиться о выделении памяти для этих данных.

Программист сам может  написать свой класс и сделать  его главным. Класс- общее описание совокупности объектов. Можем включать  поля, значение которых созд. конкретные свойства объекта и методы (процедуры), которые могут выполнять объект или классы. Инкапсуляция – в классе собрано все что необходимо для описания объекта, все его свойства и его методы, к тому же часть методов может быть доступна, а часть скрытой. Наследование – разрабатывают не просто классы, а иерархии классов. Класс получает все тоже самое как в базовом классе. Полиморфизм – в подклассах можно задав новое поведение объектов,функ.при этом имеют точно такие же названия и параметры, но компилятор при этом не ошибается и вызовет свои методы.. Имеет такие же параметры, но компьютер не ошибается и вызовет все правильно.  Класс представляет собой главное инструментальное средство C++ для объектно-ориентированного программирования. Класс очень похож на структуру, в которой сгруппированы элементы, соответствующие данным о некотором объекте, и оперирующие этими данными функции (называемые методами). Классы принято собирать в иерархии классов. При этом старший класс называется базовым. Пример:класс матрицы.

class Matrix

{public:

    Matrix(unsigned int width, unsigned int height)

        :array(width, std::vector<T>(height)) {}

  std::vector<T>& operator[](unsigned int row) { return array[row]; }

    const std::vector<T>& operator[](unsigned int row) const { return array[row]; }

 unsigned int width()  const { return (unsigned int)array.size(); }

    unsigned int height() const { return (unsigned int)array[0].size(); }

Matrix transp() const {

        Matrix m(height(), width());

        for(unsigned int i=0; i < width(); ++i)

            for(unsigned int j=0; j < height(); ++j)

                m[j][i] = (*this)[i][j];

        return m; }

private:

    std::vector< std::vector<T> > array;};

 

 

 


Информация о работе Основные принципы объектно-ориентированного программирования: инкапсуляция, наследование, полиморфизм. Пример работы с классами