ООП – набор концепций и идей, позволяющих осмысливать задачу и найти путь к решению более эффективным и понятным способом.
Принципы ООП
Преимущества:
Инкапсуляция – возможность скрыть внутреннюю составляющую объекта от пользователей.
Наследование – возможность указывать на происхождение класс, свойства и функции заимствуются новым классом.
Полиморфизм – возможность, позволяющая старому коду вызывать новый.
«Один интерфейс – множество реализаций».
Недостатки:
Документирование классов. Поскольку метод может быть переопределён, в документации должно быть указано, что он делает и в каком он месте вызывается.
Инкапсуляцией не следует злоупотреблять. Чем больше логики и данных открыто, тем сложнее его расширять.
Метод – это функциональный элемент класса, который реализует вычисления, или другие действия, выполняемые классом, или его экземпляром (объектом). Метод представляет собой
законченный фрагмент кода, к которому можно обратиться по имени. Он описывается один
раз, а вызываться может многократно.
Перегрузка методов – совместное использование одного имени двумя и более методами одного класса при условии, что их параметры объявляются по-разному.
(тип или число параметров должны быть разными)
public void Write()
{
}
public void Write(string Name)
{
}
public void Write(string Name, string Family)
{
}
Переопределение.
Виртуальные методы/свойства : virtual
Новые реализации методов/свойств : override
class Round class Circle
{ {
public virtual string Name public virtual string Name
{ {
get {return “круг”;} get {return “окружность”;}
} }
} }
class Ring: Round class Ring: Circle
{ {
public override string Name public override string Name
{ {
get {return “кольцо”;} get {return “круг”;}
} }
} }
Перегрузка
Если два метода имеют одинаковое название, то они считаются перегруженными
Виды перегрузки
–Перегрузка в разных классах
–Перегрузка в одном классе
Переопределение методов
Переопределением называют такую перегрузку методов, когда в классах, связанных отношением наследования, существуют методы с одинаковыми именами, количеством и типом параметров