Слайд 2
Содержание
Определения
Переменные и методы класса
Объекты и конструкторы
Объекты и деструкторы
Перегрузка
функций и конструкторов
Доступ к переменным класса
Примеры
Задачи
Слайд 4
Класс - Именованная совокупность переменных и функций, определенная
в соответствии с установленными правилами
Объект — некоторая сущность в
виртуальном пространстве, обладающая определённым состоянием и поведением, имеющая заданные значения свойств (атрибутов) и операций над ними (методов). Как правило, при рассмотрении объектов выделяется то, что объекты принадлежат одному или нескольким классам, которые определяют поведение (являются моделью) объекта. Термины «экземпляр класса» и «объект» взаимозаменяемы.
Слайд 6
Определение класса в C#
public class Person {
//
Field
private string name;
// Constructor
public Person()
{
name = "unknown";
}
// Method
public void SetName(string newName)
{
name = newName;
}
}
Слайд 7
Состав класса
Классы
Функции
Свойства (Property)
Переменные
Слайд 8
Модификаторы доступа
public Тип или член класса может быть
доступен отовсюду.
private Тип или член класса может быть доступен
только из текущего класса.
protected Тип или член класса может быть доступен из текущего класса или же наследованного класса.
internal Тип или член класса может быть доступен только из кода данной сборки(?).
Слайд 10
Простой конструктор
public class Person {
// Field
private
string name;
// Constructor
public Person(string prm)
{
name
= prm;
}
// Method
public void SetName(string newName)
{
name = newName;
}
}
Слайд 11
Конструктор копирования
public class Person {
// Field
private
string name;
// Constructor
public Person(Person prm)
{
name
= prm.name;
}
// Method
public void SetName(string newName)
{
name = newName;
}
}
Слайд 13
Определение
Отрабатывают при уничтожении класса
Unmanaged деструкторы
Managed деструкторы
IDisposible
Слайд 14
Unmanaged
#include
//Определение класса с именем Point
class Point
{
// Закрытые члены
private:
double m_x, m_y;
// Интерфейс
public:
Point(double x, double y);
~Point();
//
Другие методы...
};
Слайд 15
Managed - IDisposible
Garbage collector
Memory Managment
Слайд 16
Перегрузка функций и конструкторов
Слайд 17
Типы операций
Бинарные (сложение, вычитание) - математическая операция, принимающая
два аргумента и возвращающая один результат (то есть с арностью два).
Унарные (возведение в
степень) - на множестве называется отображение множества в себя , которое каждому элементу множества , называемому операндом, ставит в соответствие некоторый элемент того же множества, называемый результатом.
Слайд 18
Перегрузка стандартных операций
Сложение
Вычитание
Сравнение
Инкремент (++)
Декремент (--)
Слайд 19
Переопределение базовых функций
Переопределение ToString()
public override string ToString()
{
return
String.Format("Name: {0}", name);
}
Слайд 20
Перегрузка функций
Переопределение функций
public virtual string MyGenom()
{
return MyGenom("");
}
public virtual string MyGenom(string knownSubType)
{
return "xy"+knownSubType;
}
Принципы
Старайтесь сделать один метод с болшим количеством параметров, остальные пусть дефолтные значения базовому методу
Слайд 22
Автоматические свойства
public string Gender { get; set; }
Классический
подход к свойтсвам
public string Name
{
get { return name; }
set { name = value; }
}
Слайд 25
Задачи
L1T1 Создать класс с именем Equation, объекты которого
предназначены для хранения алгебраических уравнений второго порядка в виде
ax2+bx+c=0. Определить переменные класса, конструкторы, метод вычисления количества корней и метод отображения хранящейся в объекте информации.
L1T2 Создать класс с именем Person, объекты которого предназначены для хранения данных о конкретном человеке (можно ограничиться только фамилией и годом рождения). Определить переменные класса, конструкторы, деструктор и метод отображения хранящейся в объекте информации.