Содержание
-
ООП. Классы и Объекты
Объектно-ориентированное программирование
-
Содержание
Определения Переменные и методы класса Объекты и конструкторы Объекты и деструкторы Перегрузка функций и конструкторов Доступ к переменным класса Примеры Задачи
-
Определения
-
Класс - Именованная совокупность переменных и функций, определенная в соответствии с установленными правилами Объект — некоторая сущность в виртуальном пространстве, обладающая определённым состоянием и поведением, имеющая заданные значения свойств (атрибутов) и операций над ними (методов). Как правило, при рассмотрении объектов выделяется то, что объекты принадлежат одному или нескольким классам, которые определяют поведение (являются моделью) объекта. Термины «экземпляр класса» и «объект» взаимозаменяемы.
-
Переменные и методы класса
-
Определение класса в C#
publicclass Person { // Field privatestring name; // Constructor publicPerson() { name = "unknown"; } // Method publicvoidSetName(stringnewName) { name = newName; } }
-
Состав класса
Классы Функции Свойства (Property) Переменные
-
Модификаторы доступа
publicТип или член класса может быть доступен отовсюду. privateТип или член класса может быть доступен только из текущего класса. protectedТип или член класса может быть доступен из текущего класса или же наследованного класса. internalТип или член класса может быть доступен только из кода данной сборки(?).
-
Объекты и конструкторы
-
Простой конструктор
publicclass Person { // Field privatestring name; // Constructor publicPerson(stringprm) { name = prm; } // Method publicvoidSetName(stringnewName) { name = newName; } }
-
Конструктор копирования
publicclass Person { // Field privatestring name; // Constructor publicPerson(Personprm) { name = prm.name; } // Method publicvoidSetName(stringnewName) { name = newName; } }
-
Деструкторы
-
Определение
Отрабатывают при уничтожении класса Unmanaged деструкторы Managed деструкторы IDisposible
-
Unmanaged
#include //Определение класса с именем Point classPoint { // Закрытые члены private: double m_x, m_y; // Интерфейс public: Point(double x, double y); ~Point(); // Другие методы... };
-
Managed - IDisposible
Garbage collector Memory Managment
-
Перегрузка функций и конструкторов
-
Типы операций
Бинарные (сложение, вычитание) - математическая операция, принимающая два аргумента и возвращающая один результат (то есть с арностью два). Унарные (возведение в степень) - на множестве называется отображение множества в себя , которое каждому элементу множества , называемому операндом, ставит в соответствие некоторый элемент того же множества, называемый результатом.
-
Перегрузка стандартных операций
Сложение Вычитание Сравнение Инкремент (++) Декремент (--)
-
Переопределение базовых функций
Переопределение ToString() public override string ToString() { return String.Format("Name: {0}", name); }
-
Перегрузка функций
Переопределение функций public virtual string MyGenom() { return MyGenom(""); } public virtual string MyGenom(string knownSubType) { return "xy"+knownSubType; } Принципы Старайтесь сделать один метод с болшим количеством параметров, остальные пусть дефолтные значения базовому методу
-
Доступ к переменным класса
-
Автоматические свойства public string Gender { get; set; } Классический подход к свойтсвам public string Name { get { return name; } set { name = value; } }
-
Примеры
-
Задачи
-
L1T1Создать класс с именем Equation, объекты которого предназначены для хранения алгебраических уравнений второго порядка в виде ax2+bx+c=0. Определить переменные класса, конструкторы, метод вычисления количества корней и метод отображения хранящейся в объекте информации. L1T2Создать класс с именем Person, объекты которого предназначены для хранения данных о конкретном человеке (можно ограничиться только фамилией и годом рождения). Определить переменные класса, конструкторы, деструктор и метод отображения хранящейся в объекте информации.
-
L1T3 Создать класс с именем Polynom, объекты которого предназначены для хранения алгебраических многочленов в виде a0+a1x+...+anxn. Определить переменные класса, конструкторы, деструктор и метод отображения хранящейся в объекте информации. L1T4Создать класс с именем Fraction, объекты которого предназначены для хранения рациональных чисел в виде правильных дробей. Определить переменные класса, конструкторы (выполняющие приведение дроби к правильному виду), деструктор и метод отображения хранящейся в объекте информации.
Нет комментариев для данной презентации
Помогите другим пользователям — будьте первым, кто поделится своим мнением об этой презентации.