Концепции объектно-ориентированного программирования
Объектно-ориентированное программирование:
· Хорошее понимание концепций ООП может помочь в принятии решений при разработке приложения.
- ООП взял лучшие идеи структурированного программирования и объединил их с рядом новых концепций.
· Объектно-ориентированное программирование, связанное с такими понятиями, как класс, объект, абстракция, инкапсуляция, полиморфизм и наследование.
Объект:
· объект – это любая сущность, имеющая состояние и поведение.
· Это экземпляр (подробная информация) класса.
· Пример Object в реальном времени:
Я Навид, и я объект/экземпляр класса Man.
· Общий синтаксис объекта
Man naveed = новый Man();
Класс:
· Класс, который определяет свойства и функции любой функциональной Сущности. Например, у людей есть части тела, одежда и т. д.
· Коллекция объекта — это класс.
· Мы определяем класс с помощью ключевого слова class.
· Ex.
public class humanBeing
{
// объявляем свойства поля, событие, делегат и метод
}
Абстракция:
· Абстракция — это процесс показатолько необходимых данных конечному пользователю.
· Абстрагирование выполняется на этапе Проектирования.
· Примером абстракции в реальном времени является стиральная машина.
Мы просто кладем грязную одежду и добавляем стиральный порошок. Стиральная машина, работающая внутри, заваривает белье и выдает чистое белье.
Вам не нужно знать, что происходит внутри стиральной машины. Кто-то еще беспокоится о том, что создал стиральную машину, и она действует как «Абстракция», которая показывает вам только необходимые вещи.
Абстрактный класс:
·Абстрактный класс — это полуопределенный класс.
·Абстрактный класс может иметь Конструктор, что является основным отличием между абстрактным классом и интерфейсом.
·Абстрактные классы обычно используются для определения базового класса в иерархии классов.
· Этот класс должен содержать хотя бы один абстрактный метод.
·Абстрактный метод:Абстрактный метод не имеет «тела» и объявлен только внутри абстрактного класса.
public abstract void Apple(); // this indicates the method 'Apple()' is abstract abstract class Fruit // this indicates the class 'Fruit' is abstract
Инкапсуляция:
· Это процесс скрытия данных от другого разработчика.
· Инкапсуляция реализуется с помощью описателей доступа, таких как Public, Private, Protected.
§ Публичный: любой публичный член может быть доступен из-за пределов класса.
§ Private: Доступ к закрытым членам имеют только функции одного класса.
§ Защищенный: спецификатор защищенного доступа позволяет дочернему классу получать доступ к переменным-членам и функциям-членам своего базового класса.
· Например
Когда мы покупаем новый мобильный телефон, мы не видим, как работает печатная плата или как управляется память. Эта нерелевантная информация скрыта. Эта скрытая информация называется «Инкапсуляция».
Полиморфизм:
· Если одна задача выполняется по-разному, это называется полиморфизмом.
· Это означает по-разному обрабатывать объекты в зависимости от их типа данных.
· Это похоже на один метод с несколькими реализациями, и решение о том, какая реализация будет использоваться, определяется во время выполнения в зависимости от ситуации.
· примером в реальном времени является автомобиль, вы применяете передачу, но в зависимости от типа передачи действие ведет себя по-разному. Короче говоря, «полиморфизм» означает множество форм.
· Полиморфизм также часто выражается одной фразой «Один интерфейс, несколько методов».
· Полиморфизм может быть статическим или динамическим
· Статический полиморфизм называется Перегрузка метода, а динамический полиморфизм называется Переопределение метода.
Например:
с помощью системы;
полиморфизм пространства именПример
{
номера общедоступного класса
{
добавление публичной пустоты (int a, int b)
{
Console.WriteLine(a + b);
}
добавление публичной пустоты (int a, int b, int c)
{
Console.WriteLine(a + b + c);
}
}
Отображение открытого класса
{
статическая пустота Main (string [] args)
{
Объект чисел = новые числа();
объект.дополнение(3, 7);
объект.дополнение(9, 4, 2);
Консоль.ReadKey();
}
}
}
Вывод:
10
15
Здесь мы реализовали сложение, но изменили количество добавляемых чисел, и тогда результаты для одной программы сложения будут разными.
Наследование:
· Наследование позволяет вам повторно использовать код, когда класс включает свойства другого класса.
· Короче говоря, один класс приобретает свойства другого класса, называемого «Наследование». Это важно, поскольку поддерживает концепцию иерархической классификации.
· Например:
Рассмотрим группу транспортных средств. Вам нужно создать класс для автобуса и автомобиля.
У которого есть метод FuelAmount(), он будет одинаковым для обоих классов.
Например:
пространство имен
{
автобус общественного класса
{
общественное количество топлива ()
{
Console.WriteLine("Объем топлива в автобусе 40 литров");
}
}
общественный класс Автомобиль: Автобус
{
общественный автомобиль ()
{
Console.WriteLine("Количество топлива в машине 25л");
}
}
Вывод:
Объем топлива в автобусе 40 литров.
Объем топлива в автомобиле 25 литров.
Что такое анализ воздействия?
· Это ключ к тому, чтобы любой запрос на изменение был доставлен вовремя и в рамках бюджета.
· Для проведения достоверного анализа воздействия необходимо хорошее понимание последствий предлагаемого изменения.
Отношения
1. Is-a:
Отношения Is-a являются производными дочерними классами, которые наследуют атрибуты и методы своего родительского класса.
Например:
автомобиль класса { }
класс BMW расширяет автомобиль { }
Это означает автомобиль BMW IS-A
2. Есть-а:
Это просто означает отношение композиции, где класс, атрибуты которого состоят из других классов.
Например:
колеса класса { }
машина класса {
колесо частного колеса;
}
Это означает, что автомобиль имеет колеса
3. Отношения ассоциации:
Ассоциация определяет множественностьмежду объектами. Один к одному, один ко многим, многие к одному, многие ко многим — все эти слова определяют связь между объектами.
Например
у ученика много предметов (один ко многим)
4. Отношения агрегации:
Когда объект «имеет» другой объект, тогда у вас есть агрегация между ними. Он указал, какой объект содержит другой объект.
Агрегация – это особая форма ассоциации.
5. Связь композиции:
Когда объект содержит другой объект, если содержащийся объект не может существовать без существования объекта-контейнера, то это называется композицией.
Например, в классе есть ученики. Ученик не может существовать без класса. Между классом и учащимися существует композиционная связь.
Композиция — это особая форма отношения агрегации.
#Если вы новичок в технологиях C# и .NET, рекомендуем вам начать со следующего практического видео, ориентированного на проекты: -