Цей допис востаннє редагувався Delver_Si 18.11.2014, 19:43
Розділ 1 (C#OOP) Фреймворк 1..NET(Еквівалентно.)JavaуJDK) 2.Включено2Розділи: Бібліотека фреймворків (Toolkit),CLR(CTS,CLS) Розділ 2 (C#OOP) 1.C #Синтаксис: Головним чином контрастує зJavaРізниця (1) тип даних РядокСтруна:C #з»S"Малі та великі літери підійдуть, зазвичай мали.JavaКапіталізація Бульбуль:JavaПисьменницька діяльністьбулева (2) змінні та константи Створіть неявну змінну:VARАльтернативні типи даних (див. приклади з підручників) Визначити константи: додати перед визначенням зміннихКонст., що означає, що змінній можна присвоїти початкове значення лише один раз і не можна змінити пізніше (3оператор, вираз (таJavaТе саме) (4Оператори керування if-else(Там само.)Java) Перемикач:1.()Ви можете використовувати струни для порівняння.JavaНізащо 2.коженВипадокПісля цього це потрібно написатиперерва; JavaТобі не потрібно писати Поки що, поки:( те самеJava) foreach: C# синтаксис: foreach (ім'я елемента типу даних у масиві або об'єкті колекції) {...} Синтаксис Java: для (ім'я елемента типу даних: масив або об'єкт колекції) {...} 2.Масив (1Те саме стосується одномірних масивівJavaАле[]не можна записувати після змінної (2Багатовимірні масиви2Вид, один і той самий видJava, ще одне:int[,] = новий int[3,3]; 2Значення кожного тексту різне 3.Перепис: — це власний тип даних, подібний до типу колекції множинних констант (1Синтаксис: Визначення: ім'я типу enum enum {константа 1, константа 2, константа 3,...} Оголошення: перелічити ім'я змінної типу; Ініціалізація: Ім'я змінної = Ім'я типу перепису. константа 1; (2Визначена позиція: уГоловнаМетод, написаний зовні, абоКласНаписано зовні 4.Конвертація типів даних:Convert.ToXXXX(Будь-який тип даних); -Перетворити будь-який тип даних у заданий тип даних Розділ 3 (C#OOP) 1Клас: Комп'ютер імітує реальність, описуючи абстракцію реальної речі, а клас — це власний композитний тип даних Запишіть відповідну інформацію разом для зручності роботи (1) клас2Основні учасники: атрибути, методи (2Визначене місцезнаходження: Зазвичай створюйте новеКласДокумент пишеться окремо або в інших місцяхКласФайли поєднаніКласПиши (3Синтаксис визначення: Публічна назва класу { //Властивості publicstring id; назва publicstring; //метод публічне дослідження порожнечі(){ Console.WriteLine("Я люблю вчитися”); } } 2.Об'єкт: Конкретна реалізація класу, що описує конкретну річ, яку можна розуміти як змінну власного класу (1Інстанційований об'єкт: (Використання однієї й тієї ж змінної.)3Кроки) Назва класу Назва об'єкта= новийНазва класу(); Або: Назва класу Назва об'єкта(Назва змінної); //Оголосити об'єкт Назва об'єкта= новийНазва класу(); //Ініціалізувати цей об'єкт(змінна) (2Використаний об'єкт: Зазвичай використовуйте елементи об'єкта (атрибути та методи) Використовуйте атрибут: ім'я об'єкта. Ім'я атрибуту Як користуватися: ім'я об'єкта. Назва методу (); 3.Метод будівництва: Під час створення об'єкта використовуйте "NewНазва класу()”,Назва класу()Це метод побудови, який використовується для створення об'єктів. (1) Метод побудови буде автоматично генеруватися при визначенні класу, який є прихованим. (2) Метод побудови можна переписати, і метод конструкції викликається, наприклад, коли об'єкт інстанціюється. Якщо ви хочете призначити початкове значення об'єкту, ви можете додати параметри до методу побудови 4.Якщо початкове значення невизначене, його можна реалізувати з перевантаженням. (Перевантаження методу: та сама назва методу, інший список параметрів.)1, число;2, тип;3, порядок) Примітка: (1) Назва методу конструкції збігається з назвою класу, і немає поверненого значення (void не записується) (2) Прихований метод побудови без параметрів буде перезаписаний після ручного запису. (3) При загальному визначенні класу використовуються два методи побудови: без параметрів і з параметрами, призначеними всім атрибутам. 5.Як розрізнити імена параметрів методів construct і імена атрибутів, якщо вони однакові? це: Позначає цей тип об'єкта. (Об'єкт поточного класу) При визначенні атрибутів використовуйте це 6.Простір назв: Еквівалент папок Якщо клас розміщений у іншій папці (просторі назв), це можна зробити так:”Назва простору назв.Назва класу”Доступ Його також можна написати на початку класуВикористанняШляхи, і наступні класи не обов'язково мають мати такі шляхи 7.Модифікатори доступу: публічний: публічний, доступний будь-де internal: за замовчуванням можна опустити і використовувати в межах того ж простору імен Захищений: захищений, може використовуватися між класами батьків і дітей Приватний: Приватний, ним можеш користуватися лише ти 8.Типи значень і типи референтних (див. раніше вивченіintРізниця між викликом аргументу масиву та масиву) Типи значень: int, double та інші вісім базових типів даних, enums, structs (вивчити їх пізніше) Тип посилання: масив, клас Примітка: String є особливим, це тип посилання, але водночас це передача значень 9.Пакування та розпакування Bin: Перетворює тип значення на еталонний тип Розпакування: Перетворює тип посилання на тип значення Розділ IV 1.refіВийшовКлючові слова: Функція: Передайте змінну типу значення як еталонний тип Метод запису: Додай перед фізичним параметром і дійсним параметром відповідноПосилання(Вийшов) Примітка:1.При визначенні методу,Посилання(Вийшов) записується перед типом параметра даних 2.При виклику методу,Посилання(ВийшовДійсний аргумент після не може записати константи, а лише змінні 3.refіВийшовРізниця:ВийшовНаступний параметр може бути неініціалізованою змінною,ПосиланняНізащо 2. статичний шумМодифікатор: статичний Де використовувати:Статичний шумЗаписано у модифікаторі доступу (Громадськістьтощо). Використані об'єкти: класи, властивості, методи Примітки:1. статичний шумПри модифікації класу всі властивості та методи цього класу мають бутиСтатичний шумз 2.ВикористанняСтатичний шумВластивості та методи модифікації визначаються безпосередньо через назву класу.Атрибут (назва класу).метод) для виклику 3.Перевантаження методів: посиланняWinFormОчки знань Розділ 5 1.Struct: Тип даних, схожий на клас (попередник класу) Визначення: Те саме, що й клас, поставитиКласКлючові слова змінені наStructОсь і все Приклад:структурувати студента { публічна назва рядка; Публічне дослідження порожнечі() {} } Відмінності від класів:1.Struct — це типи значень, класи — еталонні типи (виділено) 2.Структури можна видавати безNewІнстанціяція — клас має бути використанийNew 3.Структури не можна успадкувати, класи можна успадкувати 2.Атрибути: Використовуються для інкапсуляції змінних членів у класі (додавання деяких обмежень для членів через методи) Синтаксис:ім'я приватного рядка; // публічна назва рядка //Зверніть увагу на написання великої літери першої літери { get{ повернути ім'я; } // Читати атрибути set{ name = значення; } // Записати атрибути } Властивості авто:3.0Функції видання та вище, простіше написання Синтаксис:public string Name { get; декорація; } 3.Індексатор: використовується для інкапсуляції елементів змінної масиву в класі та оптимізації розташування елементів у масиві Зазвичай пишіть2Індексер видів Синтаксис 1: індексер з індексом Державний студент це[інтелектний індекс] { get{ Повернення студентів[індекс]; } set { students[index] = значення; } } Синтаксис 2: Індекс рядків // Загалом існують лише властивості читання, немає властивостей запису Публічний студент це[назва рядка] { Іди { Studentstu = нуль; foreach(Студенти inthis.students) { if(s.Name == ім'я) { stu = s; } } Returnstu; } } Використання: Назва об'єкта[індекс]або Назва об'єкта[“Рядок”] Розділ 6 1.Делегат: Делегат — це тип даних, який може зберігати підпис методу за допомогою змінної, оголошеної цим типом даних Функція: Ім'я методу може передаватися як параметр Використання: 1. Визначення делегування публічний делегат повертає значення тип делегата тип ім'я типу (параметр типу параметра 1,...); 2. Оголосити та створити змінні делегата (для методу зв'язування делегатів: тип поверненого значення та список параметрів мають бути узгодженими) Ім'я типу делегата Ім'я змінної делегата = нова ім'я типу делегата (підпис методу); Сигнатура методу не має () 3. Закликати делегування Назва делегованої змінної (параметр 1,...); Особливості: Делегати можуть бути прив'язані до кількох методів”+=”,Ви також можете скасувати вказаний метод” -=” Анонімний метод: не визначає метод (без назви методу) і безпосередньо прив'язує вміст методу до делегата 2.Подія: Інкапсульована делегована змінна (еквівалент взаємозв'язку між атрибутами та членами змінних у класі) Використання: Передумова: Визначення делегування //Писати поза будь-яким класом 1.Визначте подію (тобто оголосіть інкапсульовану змінну делегата)//Написано в джерелі події Публічна подіяНазва типу ордену Назва інциденту; 2.Підписатися на події (щоб прив'язати метод події) Назва інциденту+= новийНазва типу ордену(Сигнатура методу); //Підхід для реагувальників на інциденти 3.Організувати подію (подібно до виклику делегата)//Написано в джерелі події Назва інциденту(Параметр1,…); Примітка: Інциденти зазвичай включають2Об'єкти: Джерела подій і Реагувальники на інциденти Розділ VII 1.Спадковість: підклас (похідний клас) успадковує батьківський клас (базовий клас), а підклас має атрибути та методи батьківського класу Синтаксис: (при визначенні класу) Підкатегорій:Клас по батьківській лінії Особливість:1.З одним коренем. Підклас може успадкувати лише один батьківський клас Особливість:2.Заразність. ЯкщоAСпадщинаB,BСпадщинаC, тодіAтакож успадкованоC 2. захищено:(захищені) змінні члена або методи, модифіковані з нею, можуть використовуватися лише ними або його підкласами 3.Метод construct у спадковості: спочатку викликайте батьківський конструктор, а потім конструктор дочірнього класу Метод 1: Неявний виклик: За замовчуванням (без уточнення) підклас викликає метод конструкції батьківського класу без параметрів Метод 2: Явний виклик: Вкажіть метод побудови, який викликає батьківський клас. Публічний син (ім'я струни, секс струн, колір струн) : base(ім'я, стать) { headColor = колір; } 4. запечатано: Якщо ваш клас не хоче, щоб його успадковували, ви можете додати це ключове слово 5.Методи переписування у спадкуванні (Override(поліморфізм) Синтаксис: використовується метод батьківського класуВіртуальне(або.)Override) модифікації, підкласи можуть використовуватисяOverrideПерепишіть його Функція: Референтний випадокУрок 7 Примітка: якщо дочірній клас успадковує батьківський клас, ви можете додати об'єкт дочірнього класу у посилання на батьківський клас 6.Важке навантаження (Перевантаження) і переписати (Override) різниця Відрізнити:1。 Перевантаження — це клас із кількома методами з однаковою назвою; Переписування — це метод у двох класах (батьківський і дочірній) з однаковою назвою. 2.Назва методу перевантаження така сама, але список параметрів інший; Назва методу переписування та сама, а параметри ті ж самі, використовуйтеВіртуальнемодифікуючи батьківський метод,OverrideМодифікація методів підкласів Розділ 8 Абстрактний метод: використанняАнотаціяМетоди грумінгу 1.Абстрактний клас: використанняАнотаціяКлас модифікатора (Публічний анотний класНазва класу) Особливість:1.Абстрактні класи не можуть інстанціювати об'єкти і можуть успадковуватися лише підкласами 2.Якщо в класі існує абстрактний метод, то цей клас має бути абстрактним; Але визначення абстрактного класу не обов'язково має містити абстрактний метод. 3.Абстрактні класи можуть мати конкретні методи (неабстрактні методи) 4.Коли підклас успадковує абстрактний клас, він повинен реалізувати всі методи абстракції в абстрактному класі, якщо підклас не є також абстрактним класом 5.Абстрактні класи можуть мати методи побудови, але їх не можна викликати самостійно, вони викликаються до підкласів 2.Інтерфейс: Визначте стандарт і специфікацію з ключовим словомІнтерфейс, інтерфейс — це тип даних Примітка:1.Інтерфейс може оголошувати лише методи, властивості, індексатори та події 2.Контент інтерфейсу — це все за замовчуваннямГромадськість, тому немає потреби додавати модифікатори, якщо ви це напишете, виникне помилка 3.Назви інтерфейсів пишуться з великої літери»I"Початок 4.Якщо клас реалізує інтерфейс, то все в цьому інтерфейсі має бути реалізовано, якщо клас не є абстрактним Особливість:1.Інтерфейси можуть успадковувати від кількох (клас може успадкувати лише один батьківський клас, але кілька інтерфейсів можуть бути реалізовані одночасно) 2.Успадкований батьківський клас має бути записаний у першій позиції після ":", а наступні інтерфейси мають бути розділені "," 3.Якщо клас реалізує кілька інтерфейсів з однаковою назвою методу, інтерфейс має бути реалізований за допомогою дисплея 4.інтерфейси можуть бути зв'язані 5. Інтерфейс як параметр, поліморфізм також може бути реалізований 3.isіякВикористання є: Оцінюйте, чи є об'єкт певного типу,Якщо це поверненняtrue, якщо не повернутиfalse Приклад:якщо(c — IPrint) як: Перетворює об'єкт у певний тип Приклад: IPrint c1 = c як IPrint; 4.Різниця між абстрактними класами та інтерфейсами (див. підручникP189)
|