Урок 23. Перевантаження методів у Сі - шарп
- Деталі
- Автор: Teacher
- Категорія: Програмування на CSharp
- Перегляди: 5216

На цьому уроці ми розглянемо з вами ще один спосіб реалізації поліморфізму в Сі-шарп - перевантаження методів.
Перевантаження методів - це оголошення в класі методів з однаковими іменами при цьому з різними параметрами.
Маючи якийсь метод, щоб його перевантажити, інший метод з таким же ім'ям повинен відрізнятися від нього кількістю параметрів та / або типами параметрів. Відмінності тільки типами повертаються значень методами недостатньо для перевантаження, але якщо методи відрізняються параметрами, тоді перенавантажувані методи можуть мати і різні типи повертаються значень.
Урок 22. Інтерфейси в Сі-шарп. Множинне успадкування
- Деталі
- Автор: Teacher
- Категорія: Програмування на CSharp
- Перегляди: 5267

Інтерфейси - це ще один інструмент реалізації поліморфізму в Сі-шарп. Інтерфейс являє собою набір методів (властивостей, подій, індексаторів), реалізацію яких повинен забезпечити клас, який реалізує інтерфейс.
Інтерфейс може містити тільки сигнатури (ім'я та типи параметрів) своїх членів. Інтерфейс не може містити конструктори, поля, константи, статичні члени. Створювати об'єкти інтерфейсу неможливо.
Оголошення інтерфейсу
Інтерфейс - це одиниця рівня класу, він оголошується за межами класу, за допомогою ключового слова interface:
interface ISomeInterface
{
// Тіло інтерфейсу
}
* Імена інтерфейсів прийнято давати, починаючи з префіксу «I», щоб відразу відрізняти де клас, а де інтерфейс.
Усередині інтерфейсу оголошуються сигнатури його членів, модифікатори доступу вказувати не потрібно:
interface ISomeInterface
{
string SomeProperty {get; set; } // Властивість
void SomeMethod (int a); // Метод
}
Урок 21. Абстрактні класи, методи і властивості в Сі-шарп
- Деталі
- Автор: Teacher
- Категорія: Програмування на CSharp
- Перегляди: 7067

На цьому уроці ми продовжимо з вами розглядати інструменти поліморфізму. На черзі у нас абстрактні класи, методи і властивості.
Абстрактні класи
Абстрактний клас - це клас оголошений з ключовим словом abstract:
abstract class [ім'я_класу]
{
// тіло
}
Такий клас має такі особливості:
- Не можна створювати екземпляри (об'єкти) абстрактного класу;
- Абстрактний клас може містити як абстрактні методи / властивості, так і звичайні;
- У класі спадкоємця повинні бути реалізовані всі абстрактні методи і властивості, оголошені в базовому класі.
Навіщо потрібні абстрактні класи?
У самому по собі абстрактному класі, від якого ніхто не успадковується, сенсу немає, так як не можна створювати його екземпляри. В абстрактному класі зазвичай реалізується деяка загальна частина декількох сутностей або іншими словами - абстрактна сутність, яка, як об'єкт, не може існувати, і ця частина необхідна в класах спадкоємців. Конкретні приклади будуть далі.
Урок 20. Віртуальні методи в Сі-шарп. Перевизначення методів
- Деталі
- Автор: Teacher
- Категорія: Програмування на CSharp
- Перегляди: 5374

У цьому уроці ми розглянемо з вами деякі інструменти, за допомогою яких в Сі-шарп реалізується поліморфізм - віртуальні методи, перевизначення методів.
Віртуальний метод - це метод, який може бути перевизначений в класі спадкоємця.
Перевизначення методу - це зміна його реалізації в класі спадкоємця. Перевизначивши метод, він працюватиме по-різному в базовому класі і класі спадкоємця, маючи при цьому одне і те ж ім'я та аргументи і тип повернення.
Віртуальний метод оголошується за допомогою ключового слова virtual:
[модифікатор доступу] virtual [тип] [ім'я методу] ([аргументи])
{
// Тіло методу
}
* Статичний метод не може бути віртуальним.
Оголосивши віртуальний метод, ми тепер можемо перевизначити його в класі спадкоємця. Для цього використовується ключове слово override:
[модифікатор доступу] override [тип] [ім'я методу] ([аргументи])
{
// Нове тіло методу
}
Урок 19. Поліморфізм в Сі-шарп. Що це таке?
- Деталі
- Автор: Teacher
- Категорія: Програмування на CSharp
- Перегляди: 3773

У цьому уроці ми розглянемо з вами деякі інструменти, за допомогою яких в Сі-шарп реалізується поліморфізм - віртуальні методи, перевизначення методів.
Віртуальний метод - це метод, який може бути перевизначений в класі спадкоємця.
Перевизначення методу - це зміна його реалізації в класі спадкоємця. Перевизначивши метод, він працюватиме по-різному в базовому класі і класі спадкоємця, маючи при цьому одне і те ж ім'я та аргументи і тип повернення.
Віртуальний метод оголошується за допомогою ключового слова virtual:
[модифікатор доступу] virtual [тип] [ім'я методу] ([аргументи])
{
// Тіло методу
}
* Статичний метод не може бути віртуальним.
Оголосивши віртуальний метод, ми тепер можемо перевизначити його в класі спадкоємця. Для цього використовується ключове слово override:
[модифікатор доступу] override [тип] [ім'я методу] ([аргументи])
{
// Нове тіло методу
}
Урок 14. Константи, специфікатор final
- Деталі
- Автор: Ткаченко О.М.
- Категорія: Уроки Java для Android
- Перегляди: 2168
.jpg)
Автор: Ткаченко О.М.
Константа – змінна (атрибут класу), значення якої змінювати не можна.
У мові Java константи задаються у вигляді статичних атрибутів класу або проміжної змінної всередині методу з додаванням специфікатора final, який вказує, що це константа.
Наступний фрагмент програми демонструє приклади використання констант двома способами: як атрибуту класу та як проміжної змінної методу main().
Урок 18. Масив вказівників на базовий клас в Сі-шарп
- Деталі
- Автор: Teacher
- Категорія: Програмування на CSharp
- Перегляди: 3317

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

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

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

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