Концепции объектно-ориентированного программирования

Объектно-ориентированное программирование:

· Хорошее понимание концепций ООП может помочь в принятии решений при разработке приложения.

  • ООП взял лучшие идеи структурированного программирования и объединил их с рядом новых концепций.

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

Объект:

· объект – это любая сущность, имеющая состояние и поведение.

· Это экземпляр (подробная информация) класса.

· Пример 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, рекомендуем вам начать со следующего практического видео, ориентированного на проекты: -