Концепции объектно-ориентированного программирования
В этой статье мы собираемся изучить язык ООП c #, чтобы продемонстрировать и понять концепции ООП.
Что такое C #?
C # - это простой современный универсальный объектно-ориентированный язык программирования, разработанный Microsoft в рамках инициативы .NET, возглавляемой Андерсом Хейлсбергом. C # - современный универсальный объектно-ориентированный язык программирования, разработанный Microsoft и одобренный Европейской ассоциацией производителей компьютеров (ECMA) и Международной организацией по стандартизации (ISO). C # основан на концепциях объектно-ориентированного программирования.
Следующие причины делают C # широко используемым профессиональным языком:
- Это современный язык программирования общего назначения.
- Это объектно-ориентированный.
- Это компонентно-ориентированный.
- Это легко учиться.
- Это структурированный язык.
- Он производит эффективные программы.
- Он может быть скомпилирован на различных компьютерных платформах.
- Это часть .Net Framework.
Что такое .Net Framework?
.Net Framework - это революционная платформа, которая помогает вам писать приложения следующих типов:
- Приложения для Windows
- Веб-приложения
- Веб-сервисы
Приложения .Net Framework являются мультиплатформенными приложениями. Фреймворк спроектирован таким образом, что его можно использовать на любом из следующих языков: C #, C ++, Visual Basic, JScript, COBOL и т. Д. Все эти языки могут обращаться к фреймворку, а также общаться друг с другом.
.Net Framework состоит из огромной библиотеки кодов, используемых клиентскими языками, такими как C #. Ниже приведены некоторые компоненты .Net Framework:
- Common Language Runtime (CLR)
- Библиотека классов .Net Framework
- Спецификация общего языка
- Система общего типа
- Метаданные и сборки
- Windows Forms
- ASP.Net и ASP.Net AJAX
- ADO.Net
- Windows Workflow Foundation (WF)
- Windows Presentation Foundation
- Windows Communication Foundation (WCF)
- LINQ
Программа AC # состоит из следующих частей:
- Объявление пространства имен
- Класс
- Методы класса
- Атрибуты класса
- Основной метод
- Заявления и выражения
- Комментарии
Вот небольшая программа на C #:
using System;
namespace HelloWorld
{
class helloWorld
{
static void Main(string[] args)
{
Console.WriteLine("Hello World, This is my first C# program");
Console.ReadKey();
}
}
}
Давайте посмотрим на различные части данной программы:
- Первая строка программы с использованием System; - ключевое слово using используется для включения в программу пространства имен System. Программа обычно имеет несколько операторов использования.
- Следующая строка имеет объявление пространства имен. Пространство имен - это коллекция классов. Пространство имен «HelloWorldApplication» содержит класс HelloWorld.
- Следующая строка имеет объявление класса, класс «HelloWorld» содержит определения данных и методов, которые использует ваша программа. Классы обычно содержат несколько методов. Методы определяют поведение класса. Однако класс HelloWorld имеет только один метод Main.
- Следующая строка определяет метод Main, который является точкой входа для всех программ на C #. Метод Main сообщает, что делает класс при выполнении.
- Следующая строка / *… * / игнорируется компилятором и ставится для добавления комментариев в программу.
- Метод Main определяет свое поведение с помощью оператора Console.WriteLine («Hello World»);
«WriteLine» - это метод класса Console, определенный в пространстве имен System. Это утверждение приводит к тому, что на экране появляется сообщение «Hello, World!».
Стоит отметить следующие моменты:
- C # чувствителен к регистру.
- Все выражения и выражения должны заканчиваться точкой с запятой (;).
- Выполнение программы начинается с метода Main.
ООП Концепции
Объектно-ориентированное программирование - это стиль программирования, связанный с такими понятиями, как класс , объект, наследование , инкапсуляция , абстракция , полиморфизм .

1. Класс
Класс - это коллекция методов и переменных. Это план, который определяет данные и поведение типа.
Давайте возьмем Человека как класс. Класс - это план любого функционального объекта, который определяет его свойства и функции. Как человек, имеющий части тела, выполняющий различные действия.
Мы можем определить класс, используя ключевое слово class и тело класса, заключенное в пару фигурных скобок, как показано в следующем примере:
public class humanBeing
{
// declare field properties, event, delegate, and method
}
2. Наследование
Наследование - это особенность объектно-ориентированного программирования, которая позволяет многократно использовать код, когда класс включает свойство другого класса. Рассматривая HumanBeing класс, который имеет свойства, такие как руки, ноги, глаза, рот и т. Д., И функции, такие как ходить, говорить, есть, видеть и т. Д.
Мужчина и Женщина также являются классами, но большинство свойств и функций включены в HumanBeing. Следовательно, они могут наследовать все от класса HumanBeing, используя концепцию наследования. Вот пример кода:
using System;
namespace InheritanceExample
{
public class humanBeing
{
public humanBeing()
{
Console.WriteLine("Calling the human being class constructor");
}
public void Display()
{
Console.WriteLine("I'm a human being");
}
}
public class Man:humanBeing
{
public Man()
{
Console.WriteLine("I'm a man, a male human being");
}
}
public class Program
{
static void Main(string[] args)
{
Man yann = new Man();
yann.Display();
Console.ReadKey();
}
}
}
Вывод на экран:
Calling the human being constructor
I'm a man, a male human being
I'm a human being
3. Объекты
Меня зовут Yann, и я являюсь экземпляром / объектом класса Man. Когда мы говорим: человек, мужчина или женщина, мы просто подразумеваем вид, вы, ваш друг и я. Мы являемся формами этих классов. У нас есть физическое существование, а класс - это просто логическое определение. Мы объекты.
Синтаксис для создания объекта класса Man:
Man Yann = new Man();
4. Абстракция
Абстракция означает, демонстрируя только необходимые вещи для внешнего мира, скрывая детали. Продолжая наш пример, люди могут говорить, ходить, слышать, есть, но детали механизма мышц и их связи с мозгом скрыты от внешнего мира.
Концепция абстракции фокусируется на том, что делает объект, в зависимости от того, как объект представлен или « как он работает» . Таким образом, абстракция данных часто используется для управления большими и сложными программами.
Абстракция на другой стороне может быть объяснена как возможность использовать один и тот же интерфейс для разных объектов. Могут существовать разные реализации одного и того же интерфейса. Детали скрыты инкапсуляцией .
Процесс выбора сущности объекта, который вам действительно нужен
Другими словами, выберите нужные свойства из объекта. Пример:
a. ТВ - Звук, Визуальные эффекты, Ввод мощности, Ввод каналов.
б. Мобильный - кнопка / сенсорный экран, кнопка питания, кнопка громкости, сим-порт.
с. Автомобиль - руль, сцепление, педаль газа, тормоз.
д. Человек - голос, тело, зрение, слух, эмоции.
Проще говоря, ОБРАЩАЙТЕ все , что вам нужно, и ПРИНИМАЙТЕ все, что не нужно.
5. Инкапсуляция
Инкапсуляция означает, что мы хотим скрыть ненужные детали от пользователя. Например, когда мы звоним с нашего мобильного телефона, мы выбираем номер и нажимаем кнопку вызова. Но весь процесс вызова или то, что происходит с момента, когда мы нажимаем или касаемся кнопки вызова, до момента, когда мы начинаем разговор по телефону, скрыт от нас.
Инкапсуляция - это способ добиться «сокрытия информации»,поэтому вам «не нужно знать внутреннюю работу мобильного телефона, чтобы работать с ним». У вас есть интерфейс для использования поведения устройства, не зная деталей реализации.
- Вы садитесь в машину, нажимаете кнопку или поворачиваете ключ, чтобы завести автомобиль и уехать, вам не нужно знать, что именно происходит с двигателем и всей механикой, чтобы управлять вашим автомобилем. Я nternal детали стартовых операций скрыты от вас
- Ваш ноутбук подключен к Интернету, вам не нужно понимать, как работает интернет, чтобы использовать его.
- В коде или во время написания кода Encapsulation скрывает переменные или что-то внутри класса, предотвращая использование неавторизованными сторонами. Таким образом, общедоступные методы, такие как getter и setter, обращаются к нему, а другие классы вызывают эти методы для доступа
6. Полиморфизм
Полиморфизм - это концепция, которая позволяет нам переопределить способ работы чего-либо, либо изменив способ его выполнения, либо изменив детали, используемые для его выполнения.Это можно сделать двумя способами: перегрузкой и переопределением.
Если мы идем, используя руки, а не ноги, здесь мы изменим части, используемые для выполнения чего-либо. Следовательно это называется перегрузкой (Overloading).
using System;
namespace polymorphismExample
{
public class Numbers
{
public void addition(int a, int b)
{
Console.WriteLine(a + b);
}
public void addition(int a, int b, int c)
{
Console.WriteLine(a + b + c );
}
}
public class Display
{
static void Main(string[] args)
{
Numbers obj = new Numbers();
obj.addition(3, 7);
obj.addition(9, 4, 2);
Console.ReadKey();
}
}
}
Выход:
10
15
И если есть определенный способ ходьбы, но я хочу ходить по-другому, но используя свои ноги, как и все остальные. Тогда я могу ходить, как я хочу, это будет называться Overriding .
using System;
namespace polymorphismExample
{
public class parentClass
{
public virtual void Display()
{
Console.WriteLine("Hello! My name is Yann!");
}
}
public class childClass:parentClass
{
public override void Display()
{
Console.WriteLine("Hello! Nice to meet you!");
}
}
public class Program
{
static void Main(string[] args)
{
parentClass obj = new childClass();
obj.Display()
Console.ReadKey();
}
}
}
Выход:
Hello! Nice to meet you!