Посібник із класів і об’єктів C# із прикладами

⚡ Розумний підсумок

Класи та об'єкти C# надають об'єктно-орієнтованої структури застосункам шляхом обгортанняping пов'язані властивості даних та методи в межах одного плану. Кожен об'єкт є екземпляром класу, який зберігає власні значення для цих властивостей.

  • 🔸 Клас: Клас інкапсулює властивості даних та методи, які працюють з цими даними, в один шаблон багаторазового використання.
  • 🎯 Об'єкт: Об'єкт — це екземпляр класу під час виконання, який містить конкретні значення для своїх властивостей.
  • 🏗️ Створення: Ключове слово new створює екземпляр об'єкта, як у Tutorial pTutor = new Tutorial(), виділяючи для нього пам'ять.
  • 🧱 Поля та методи: Поля зберігають стан об'єкта, тоді як методи, такі як SetTutorial та GetTutorial, визначають його поведінку.
  • 🔐 Інкапсуляція: Модифікатори доступу, такі як public та private, контролюють, до яких полів та методів поза кодом можуть звертатися.
  • 🤖 Допомога AI: GitHub Copilot створює шаблони для визначення класів, тоді як ML.NET використовує дані об'єктів як функції для моделей машинного навчання.

C# Клас і Об'єкт

C# базується на C++ мова програмування. Отже, мова програмування C# має вбудовану підтримку класів і об’єктів. Клас — це не що інше, як інкапсуляція властивостей і методів, які використовуються для представлення сутності реального часу.

Наприклад, якщо ви хочете працювати з даними співробітника в певній програмі.

Властивості працівника – це ідентифікатор та ім’я працівника. Методи включатимуть введення та зміну даних про співробітника.

Усі ці операції можна представити як клас у C#. У цій главі ми більш детально розглянемо, як ми можемо працювати з класами та об’єктами в C#.

Що таке клас і об'єкт?

Почнемо спочатку з занять.

Як ми обговорювали раніше, класи є інкапсуляцією властивості даних та методи даних.

  • Властивості використовуються для опису даних, які зберігатиме клас.
  • Методи повідомляють, які операції можна виконувати з даними.

Щоб краще зрозуміти клас та об’єкти, давайте розглянемо наведений нижче приклад, як виглядатиме клас.

Назва класу «Навчальний посібник». Клас має такі властивості

  1. ID підручника – Це використовуватиметься для збереження унікального номера, який представлятиме підручник.
  2. Назва підручника – Це використовуватиметься для збереження назви підручника у вигляді рядка.

Клас також складається з методів. Наш клас має такі методи,

  1. SetTutorial – Цей метод використовуватиметься для встановлення ідентифікатора та назви підручника. Так, наприклад, якщо ми хочемо створити підручник для .Net, ми могли б створити об’єкт для цього. Об’єкт матиме ідентифікатор, скажімо, 1. По-друге, ми призначимо ім’я “.Net” як ім’я Підручника. Значення ідентифікатора 1 і ім’я “.Net” буде збережено як властивість об’єкта.
  2. GetTutorial – Цей метод використовуватиметься для отримання деталей конкретного підручника. Отже, якби ми хотіли отримати назву посібника, цей метод повернув би рядок «.Net».

C# Клас і Об'єкт

Нижче наведено знімок того, як може виглядати об’єкт для нашого навчального класу. У нас є 3 об’єкти, кожен зі своїми відповідними TutorialID і TutorialName.

C# Клас і Об'єкт

Як створити клас і об'єкт

Давайте тепер зануримося в Visual Studio щоб створити наш клас. Ми будемо будувати на основі нашої існуючої консольної програми, створеної в попередньому розділі. Ми створимо клас у Visual Studio для нашої поточної програми.

Давайте виконаємо наведені нижче кроки, щоб отримати цей приклад.

Крок 1) Перший крок передбачає створення нового класу в нашій існуючій програмі. Це робиться за допомогою Visual Studio.

Створіть клас і об’єкт

  1. Першим кроком є ​​клацання правою кнопкою миші рішення, яке в нашому випадку це «Демододаток». Відкриється контекстне меню зі списком параметрів.
  2. У контекстному меню виберіть пункт Додати->Клас. Це надасть можливість додати клас до існуючого проекту.

Крок 2) Наступним кроком буде надання імені класу та додавання його до нашого рішення.

Створіть клас і об’єкт

  1. У діалоговому вікні проекту нам спочатку потрібно вказати назву для нашого класу. Давайте надамо назву Tutorial.cs для нашого класу. Зауважте, що ім’я файлу має закінчуватися на .cs, щоб переконатися, що він розглядається як належний файл класу.
  2. Коли ми натискаємо кнопку «Додати», клас буде додано до нашого рішення.

Якщо виконати наведені вище кроки, ви отримаєте наведений нижче результат у Visual Studio.
Вихід:-

Створіть клас і об’єкт

До рішення буде додано клас під назвою Tutorial.cs. Якщо ви відкриєте файл, ви побачите наведений нижче код, доданий до файлу класу.

Створіть клас і об’єкт

Code Пояснення:

  1. Перша частина містить обов’язкові модулі, які Visual Studio додає до будь-якого файлу .Net. Ці модулі завжди потрібні для забезпечення роботи будь-якої програми .Net у форматі a Windows середовищі.
  2. Друга частина - це клас, який додається до файлу. У нашому випадку клас має назву «Навчальний посібник». Це ім’я, яке було вказано з класом, який було додано до рішення.

На даний момент наш файл класу нічого не робить. У наступних темах ми докладніше розглянемо, як працювати з класом.

Поля і методи

Ми вже бачили, як поля та методи визначаються в класах у попередній темі.

Для нашого класу Tutorial ми можемо мати такі властивості.

  1. Ідентифікатор підручника – це використовуватиметься для збереження унікального номера, який представлятиме підручник.
  2. Назва підручника – це буде використовуватися для збереження назви підручника як a рядок.

Наш навчальний клас також може мати наведені нижче методи.

  1. SetTutorial – цей метод використовуватиметься для встановлення ідентифікатора та назви посібника.
  2. GetTutorial – цей метод використовуватиметься для отримання деталей конкретного підручника.

Давайте тепер подивимося, як ми можемо включити поля та методи в наш код.

Крок 1) Перший крок — переконатися, що клас Tutorial має правильні поля та методи. На цьому кроці ми додаємо наведений нижче код до файлу Tutorial.cs.

Поля і методи

Code Пояснення:

  1. Першим кроком є ​​додавання полів TutorialID і TutorialName до файлу класу. Оскільки поле TutorialID буде числом, ми визначаємо його як ціле число, тоді як TutorialName буде визначено як рядок.
  2. Далі ми визначаємо метод SetTutorial. Цей метод приймає 2 параметри. Отже, якщо Program.cs викликає метод SetTutorial, йому потрібно буде надати значення для цих параметрів. Ці значення будуть використані для встановлення полів об’єкта Tutorial.
    1. Значення pID стане 1
    2. Значення pName буде .Net.
    3. У методі SetTutorial ці значення передадуться в TutorialID і TutorialName.
    4. Отже, тепер TutorialID матиме значення 1, а TutorialName матиме значення «.Net».
  3. Тут ми встановлюємо поля класу Tutorial відповідно до параметрів. Тому ми встановили TutorialID на pID, а TutorialName на Pname.
  4. Потім ми визначаємо метод GetTutorial для повернення значення типу «String». Цей метод використовуватиметься для повернення TutorialName програмі, що викликає. Так само ви також можете отримати ідентифікатор підручника за допомогою методу Int GetTutorial
  5. Тут ми повертаємо значення поля TutorialName програмі, що викликає.

Крок 2) Тепер давайте додамо код до нашого Program.cs, який є нашою консольною програмою. Консольний додаток буде використовуватися для створення об’єкта «класу Tutorial» і відповідного виклику методів SetTutorial і GetTutorial.

(Примітка::- Об’єкт є екземпляром класу в будь-який момент часу. Різниця між класом і об’єктом полягає в тому, що об’єкт містить значення властивостей.)

Поля і методи

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 class Tutorial
 {
  int TutorialID; 
  string TutorialName;
  
  public void SetTutorial(int pID,string pName) 
  {
   TutorialID=pID;
   TutorialName=pName;
  }
  public String GetTutorial()
  {
   return TutorialName;
  }
  
  static void Main(string[] args) 
  {
   Tutorial pTutor=new Tutorial();
    
   pTutor.SetTutorial(1,".Net");
    
   Console.WriteLine(pTutor.GetTutorial());
    
   Console.ReadKey(); 
  }
 }
}

Code Пояснення:

  1. Першим кроком є ​​створення об’єкта для класу Tutorial. Позначте тут, що це робиться за допомогою ключового слова «новий». Ключове слово 'new' використовується для створення об'єкта з класу в C#. Потім об’єкт призначається pTutor змінна.
  2. Потім викликається метод SetTutorial. Параметри 1 і «.Net» передаються в метод SetTutorial. Потім вони будуть використані для відповідного налаштування полів «TutorialID» і «TutorialName» класу.
  3. Потім ми використовуємо метод GetTutorial класу Tutorial, щоб отримати TutorialName. Потім це відображається на консолі за допомогою методу Console.WriteLine.

Якщо наведений вище код введено належним чином і програма запущена, буде показано наступний результат.

вихід:

Поля і методи

З результату ви можете чітко побачити, що рядок «.Net» повернуто методом GetTutorial.

Поширені запитання

Конструктор — це спеціальний метод, який відповідає назві класу та запускається автоматично під час створення об'єкта з використанням new, ініціалізуючи його поля початковими значеннями.

Ключове слово new створює об'єкт з класу. Воно виділяє пам'ять, викликає конструктор і повертає посилання, як у Tutorial pTutor = new Tutorial().

Клас — це тип посилання, що зберігається в купі, тоді як структура — це тип значення, що копіюється при присвоєнні. Класи підтримують успадкування; структури — ні.

Модифікатори доступу встановлюють видимість членів. public надає члену доступ до будь-якого коду, private обмежує його тим самим класом, а protected надає його спільний доступ до похідних класів.

Так. Клас — це креслення, тому ви можете створювати багато об'єктів за допомогою new. Кожен об'єкт містить власну копію полів, keeping їхні цінності незалежні.

Поле зберігає дані безпосередньо всередині класу. Властивість огортає поле методами доступу get та set, контролюючи, як значення зчитується або змінюється.

Так. GitHub Copilot пропонує визначення класів, поля, конструктори та тіла методів на основі коментаря або назви класу всередині Visual Studio. VS Code. RevПерегляньте кожен для правильних типів.

ML.NET моделює вхідні та вихідні дані як класи C#. Ви визначаєте клас, властивості якого відповідають функціям, завантажуєте записи в об'єкти та навчаєте моделі з них.

Підсумуйте цей пост за допомогою: