ОООП

ОООП

Дикий Молюск

лекція 1

лекція 2

лекція 3

лекція 4

лекція 5

лекція 6

вікіпедія - типи діаграм

Класи та структури:

В класах можна створити конструктор без параметрів, ініціалізувати значення полів в місці їх оголошення, ініціалізувати в конструкторі не всі поля, приймати значення null, клас є типом посилань, в класах можливе спадкування. У структур усе перелічене навпаки. Крім того, класи є нащадками System.Object, а структури є нащадками System.ValueType.

Dynamic, Var, Object:

Var - насправді не var, а якийсь конкретний тип, але його визначає компілятор. Відповідно, усі помилки та їх відсутності будуть такими ж, як якби замість var ми написали тип, що присвоюємо. Ініціалізувати var без присвоювання неможливо.

Object - тип, що є батьком усіх типів. Компілятор має трохи інформації про те, який тип позначає об'єкт типу object, тому перетворювати з object на якийсь конкретний тип явно не можна (помилка компіляції). Явне перетворення компілюється, але якщо воно невдале викидається System.InvalidCastException.

Dynamic - Компілятор не знає нічого про тип змінної, яку містить dynamic, тому його можна неявно перетворювати на будь-який тип. Тільки потім qможе викинутись помилка RuntimeBinderException. В принципі, при явному перетворенні також.

Анонімний тип - клас, в якого нема нічого, окрім відкритих лише для читання властивостей. Він неявно створюється під час утворення об'єкта без вказування типу, наприклад var a = new {id = 8, name = "Oleksii"}. Тип властивостей не задається в коді, а визначається компілятором. Анонімні типи зручно використовувати для швидкої інкапсуляції даних, які не планується змінювати. Доступ до об'єктів анонімних типів є локальним.

Report Page