Този пост беше последно редактиран от Delver_Si на 18.11.2014 г., 19:43
Глава 1 (C#OOP) Рамка 1..NET(Еквивалентно.)JavaвJDK) 2.включено2Секции: Рамка библиотека (Инструментариум),CLR(CTS,CLS) Глава 2 (C#OOP) 1.C #Синтаксис: Главно контраст сJavaРазликата (1) тип данни НизСтруна:C #от"S"Малките и главните са добре, обикновено с малки букви.JavaКапитализация Булbool: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; Име на публичен стринг; //метод public void study(){ Console.WriteLine("Обичам да уча”); } } 2.Обект: Специфична имплементация на клас, описваща конкретно нещо, което може да се разбере като променлива на персонализиран клас (1Инстанциран обект: (Използване на същата променлива.)3Стъпки) Име на класа Име на обекта= новИме на класа(); Или: Име на класа Име на обекта(Име на променливата); //Обявяване на обект Име на обекта= новИме на класа(); //Инициализирайте този обект(променлива) (2Използван обект: Обикновено използвайте членовете на обекта (атрибути и методи) Използвайте атрибут: име на обект. Име на атрибута Как да използвам: име на обект. Име на метод (); 3.Метод на изграждане: При инстанциране на обект използвайте "НовИме на класа()”,Име на класа()Това е метод на конструиране, използван за конструиране на обекти. (1) Методът на конструиране ще бъде автоматично генериран при дефиниране на класа, който е скрит. (2) Методът на конструиране може да бъде пренаписан, а методът на конструиране се извиква, когато обектът е инстанциран, например. Ако искате да зададете начална стойност на обект, можете да добавите параметри към метода на конструиране 4.Ако началната стойност е несигурна, тя може да бъде реализирана с претоварване. (Претоварване на метода: Същото име на метода, различен списък с параметри.)1, число;2, тип;3, заповед) Забележка: (1) Името на метода на конструкция е същото като името на класа и няма връщана стойност (void не се записва) (2) Скритият метод на конструиране без параметри ще бъде презаписан след ръчно писане. (3) При дефиниране на клас като цяло ще се използват два метода за конструиране: без параметри и с параметри, присвоени на всички атрибути. 5.Как да различа имената на параметъра на методите на конструкцията и имената на атрибути, ако са еднакви? това: Показва този тип обект. (Обект на настоящия клас) При определяне на атрибути използвайте това 6.Namespace: Еквивалент на папки Ако класът е поставен в различна папка (namespace), това може да се направи по следния начин:”Име на пространство от имена.Име на класа”Достъп Може да се пише и в началото на класаИзползванеПътища, а следващите класове не е задължително да имат пътеки 7.Модификатори за достъп: публично: Публично, достъпно навсякъде internal: По подразбиране може да се пропусне и може да се използва в рамките на едно и също пространство от имена защитено: защитено, може да се използва между класове родител и дете Частен: Частен, само ти можеш да го използваш 8.Типове стойности и референтни типове (вижте предварително наученитеintРазликата между извикване на аргумент за масив и масив) Типове стойности: int, double и други осем основни типа данни, enums, structs (които ще се научат по-късно) Референтен тип: масив, клас Забележка: Низът е специален, той е референтен тип, но в същото време е и прехвърляне на стойности 9.Опаковане и разопаковане Bin: Преобразува типа стойност в референтен тип Unboxing: Преобразува референтния тип в стойностен тип Глава IV 1.refиВънКлючови думи: Функция: Предаване на променливата от типа стойност като референтен тип Метод на писане: Добавяне преди физическия параметър и реалния параметър съответноРеференция(Вън) Бележка:1.При дефиниране на метод,Референция(Вън) се записва преди типа параметърни данни 2.При извикване на метод,Референция(ВънРеалният аргумент след това не може да запише константи, а само променливи 3.refиВънРазликата:ВънСледващият параметър може да бъде неинициализирана променлива,РеференцияНяма начин 2. статично електричествоМодификатор: статичен Къде да използвате:статичен шумЗаписано в модификатора за достъп (Публичнои т.н.). Използвани обекти: класове, свойства, методи Бележки:1. статичен шумПри модифициране на клас, всички свойства и методи в този клас трябва да бъдатстатичен шумна 2.Употребастатичен шумСвойствата и методите на модификация са директно чрез името на класа.Атрибут (име на клас.метод) за извикване 3.Претоварване на методите: ИзточнициWinformТочки за знания Глава 5 1.Struct: Тип данни, подобен на клас (предшественик на клас) Дефиниция: Същото като клас, putКласКлючовите думи са променени наStructТова е всичко Пример:struct Student { публично име на низ; Публично изследване на празнотата() {} } Разлики с класовете:1.Struct-овете са типове стойности, класовете са референтни типове (подчертаване) 2.Structs могат да се разпределят безНовИнстанциация, класът трябва да се използваНов 3.Структурите не могат да се наследяват, класовете могат да се наследяват 2.Атрибути: Използва се за капсулиране на променливи на членове в класа (добавяне на някои ограничения към членовете чрез методи) Синтаксис:име на частен низ; // публичен низ Име //Обърнете внимание на главната буква на първата буква { get{ return name; } // Прочетени атрибути set{ name = стойност; } // Запиши атрибути } Автомобилни свойства:3.0Функции на издание и по-горе, по-лесно писане Синтаксис:public string Name { get; декорация; } 3.Indexer: Използва се за капсулиране на членовете на променлива в масива в клас и оптимизиране на начина, по който елементите се намират в масива Обикновено пишете2Индексатор на видове Синтаксис 1: Индексатор с индекси Държавен студент това[int index] { get{ Връщащи се студенти[индекс]; } set { students[index] = стойност; } } Синтаксис 2: Индексатор на низове // Обикновено има само свойства за четене, няма свойства за запис Публичен студент това[име на низ] { Вземи { Studentstu = null; 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.Метод на конструиране при наследяване: Първо извикай родителския конструктор, а след това конструктора на дъщерния клас Метод 1: Имплицитно извикване: По подразбиране (без никаква спецификация) подкласът ще извиква конструктния метод на родителския клас без параметри Метод 2: Явно извикване: Задайте метод на конструиране, който призовава родителския клас. Публичен син (име на струна, пол на струна, цвят на струните) : base(име, пол) { headColor = цвят; } 4. запечатан: Ако вашият клас не иска да бъде наследен, можете да добавите тази ключова дума 5.Методи за пренаписване при наследяване (Override(полиморфизъм) Синтаксис: Използва се методът на родителския класвиртуално(или.)Override) модификация, могат да се използват подкласовеOverrideПрепишете го Функция: Референтен случайУрок 7 Забележка: Ако дъщерен клас наследи родителски клас, тогава можете да поставите обект на дъщерен клас в референцията на parent класа 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)
|