Основне меню  

   

Реклама  

Скачуйте відеуроки для створення сайту за допомогою SMS Joomla 

реклама

 

 

   

Ми в Facebook  

Калькулятор расчета пеноблоков смотрите на этом ресурсе
Все о каркасном доме можно найти здесь http://stroidom-shop.ru
Как снять комнату в коммунальной квартире смотрите тут comintour.net
   

Реклама в мережі  

   

Статистика  

Користувачі
1
Статті
184
Перегляди статей
728107
   

Пошук по сайту  

   

Ми знаходимось тут  

   

Посібник Delphi  

ДОСТУПНИЙ ВИКЛАД,

ЦІКАВІ ПРИКЛАДИ, ВИХІДНІ КОДИ.

ЦІНА ДИСКА З МАТЕРІАЛАМИ - 500 грн. 

Якщо ваша карта обслуговується ПриватБанком тоді переведіть потрібну суму через Приват24 на карту    5168 7573 0556 9925 або натисніть на посилання "Перейти до оплати", щоб здійснити миттєвий платіж без комісії. Перейти до оплати!

 Звертайтесь за адресою еmail:kuzbyt@ukr.net

 
   

Посібник по C#  

 Вивчаємо сучасну мову  програмування C# 7.0

ПРОГРАМУЄМО в VISUAL STUDIO 2017

ЦІНА ДИСКА З МАТЕРІАЛАМИ - 1000 грн. 

Якщо ваша карта обслуговується ПриватБанком тоді переведіть потрібну суму через Приват24 на карту    5168 7573 0556 9925 або натисніть на посилання "Перейти до оплати", щоб здійснити миттєвий платіж без комісії. Перейти до оплати!

 Звертайтесь за адресою еmail:kuzbyt@ukr.net

 
   

Випадкове фото  

   

Наш відеоканал  

   

Відвідування сайту  

Яндекс.Метрика

 

   

Відеокурс по С++  

   

Рекомендуємо:  

   

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

Абстрактні класи

Абстрактний клас - це клас оголошений з ключовим словом abstract:

abstract class [ім'я_класу]

{

   // тіло

}

Такий клас має такі особливості:

- Не можна створювати екземпляри (об'єкти) абстрактного класу;

- Абстрактний клас може містити як абстрактні методи / властивості, так і звичайні;

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

Навіщо потрібні абстрактні класи?

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

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

Віртуальний метод - це метод, який може бути перевизначений в класі спадкоємця.

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

Віртуальний метод оголошується за допомогою ключового слова virtual:

[модифікатор доступу] virtual [тип] [ім'я методу] ([аргументи])

{

   // Тіло методу

}

* Статичний метод не може бути віртуальним.

Оголосивши віртуальний метод, ми тепер можемо перевизначити його в класі спадкоємця. Для цього використовується ключове слово override:

[модифікатор доступу] override [тип] [ім'я методу] ([аргументи])

{

   // Нове тіло методу

}

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

Віртуальний метод - це метод, який може бути перевизначений в класі спадкоємця.

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

Віртуальний метод оголошується за допомогою ключового слова virtual:

[модифікатор доступу] virtual [тип] [ім'я методу] ([аргументи])

{

   // Тіло методу

}

* Статичний метод не може бути віртуальним.

Оголосивши віртуальний метод, ми тепер можемо перевизначити його в класі спадкоємця. Для цього використовується ключове слово override:

[модифікатор доступу] override [тип] [ім'я методу] ([аргументи])

{

   // Нове тіло методу

}

Даний уро к є продовженням попереднього, присвяченого спадкоємцям.

У Сі-шарп є можливість створення масиву (або списку) вказівників на базовий клас в якому в якості елементів можуть бути об'єкти класу-спадкоємця. Наприклад, ми можемо створити масив об'єктів Тварина, і елементами такого масиву будуть об'єкти класів Собака, Кішка.

У цьому уроці ми розглянемо з вами один з базових принципів об'єктно-орієнтованого програмування - успадкування.

Розпочнемо розгляд спадкування з життєвих ситуацій. Для прикладу, візьмемо такі поняття, як людина і студент. У кожної людини є ім'я, зріст, вага і інші загальні характеристики. Студент же є окремим випадком людини, у нього також є ім'я, зріст, вага, але крім цього, він вчиться в деякому ВУЗі, на певної спеціальності і має середній бал. З погляду успадкування, в цьому випадку, студент є спадкоємцем поняття людина. Ще один приклад можна навести з тваринами. Тварина - це загальне поняття. Тварин можна поділити на риб, птахів і ссавців. Кожен з цих груп тварин розрізняються деяким характеристиками, але у всіх них є спільні особливості тварин.

А тепер перейдемо до програмування

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

У цьому уроці ми продовжимо розглядати члени класів, і на черзі у нас властивості.

Властивість в Сі-шарп - це член класу, який надає зручний механізм доступу до поля класу (читання поля і запис). Властивість являє собою щось середнє між полем і методом класу. При використанні властивості, ми звертаємося до нього, як до поля класу, але насправді компілятор перетворює це звернення до виклику відповідного неявного методу. Такий метод називається аксесор (accessor). Існує два таких методи: get (для отримання даних) і set (для запису). Оголошення простої властивості має наступну структуру:

На цьому уроці ми поговоримо про такі важливі члени класу, як конструктори.

Конструктор - це метод класу, призначений для ініціалізації об'єкту при його створенні. Ініціалізація - це завдання початкових параметрів об'єктів / змінних при їх створенні.

Особливістю конструктора, як методу, є те, що його ім'я завжди збігається з ім'ям класу, в якому він оголошується. При цьому, при оголошенні конструктора, не потрібно вказувати повертається тип, навіть ключове слово void. Конструктор слід оголошувати як public, інакше об'єкт не можна буде створити (хоча іноді в цьому також є сенс).

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

Метод - це невелика підпрограма, яка виконує, в ідеалі, тільки одну функцію. Методи дозволяють скоротити обсяг коду. Методи разом з полями, є основними членами класу.Раніше, ми вже розглядали методи в уроці Функції в Сі-шарп, але зараз ми розглянемо їх під іншим кутом. В тому  уроці ми розглядали статичні методи, а в цьому поговоримо про прості, і про різницю між ними.

Статичний метод - це метод, який не має доступу до полів об'єкта, і для виклику такого методу не потрібно створювати екземпляр (об'єкт) класу, в якому він оголошений. 

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

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

У Сі-шарп класи оголошуються за допомогою ключового слова class. Загальна структура оголошення виглядає наступним чином:

[модифікатор доступу] class [ім'я_класу]

{

   // тіло класу

}

Модифікаторів доступу для класів є два:

- Public - доступ до класу можливий з будь-якого місця однієї збірки або з іншої збірки, на яку є посилання;

- Internal - доступ до класу можливий тільки з збірки, в якій він оголошений.

Поняття об'єктно-орієнтоване програмування (ООП) означає один з найефективніших підходів до сучасного програмування.

Раніше програмісти, в більшості випадків, використовували функціональний або процедурний принцип програмування. Всі програми, великі і маленькі, писалися в одному файлі. З плином часу програми ставали все складніші і більші, що доставляло проблеми розробникам за підтримки таких програм та внесення змін. Цю проблему вирішує об'єктно-орієнтоване програмування. ООП дозволяє об'єднати дані і методи, що відносяться до однієї сутності, і працювати з ними, як з одним цілим.

Класи і об'єкти. В чому різниця?

ООП привносить нам два ключових поняття: Клас і Об'єкт. Клас - це абстрактний тип даних. За допомогою класу описується деяка сутність (її характеристики і можливі дії). Наприклад, клас може описувати студента, автомобіль і т.д. Описавши клас, ми можемо створити його примірник -Об'єкт. Об'єкт - це вже конкретний представник класу.

   

Поділіться з друзями

 
   

Сайт для перевірки своїх знань з програмування на сайті:http://www.quizful.net/test

Онлайн тести  для програмістів: https://proghub.ru/


 Розробка сайтів, інтернет-магазинів під ключ. Створення програмного забезпечення для обліку в магазинах,

гуртовнях, ведення власного бізнесу та інших. Написання дипломних та курсових робіт з програмування, баз даних.

 

Звертайтесь за адресою email:kuzbyt@ukr.net

 

 

© (C) Sambir, I.Kuzbyt