Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
веб.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
933.89 Кб
Скачать

3.1.2 Класи .Net Framework

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

Базові класи .NET представляють величезну колекцію класів керованого коду, що дозволяють вирішувати практично будь-які завдання, які раніше можна було вирішувати з допомогою Windows API. Всі ці класи слідують тій же об'єктної моделі IL з одиночним наслідуванням. Це означає, що можна або створювати об'єкти будь-якого з базових класів .NET, або наслідувати від них власні класи. Відмінність базових класів .NET полягає в тому, що вони спроектовані інтуїтивно зрозумілими і простими у використанні.

Нижче перераховані області, які обслуговуються базовими класами .NET 3.5.

        Ключові засоби, пропоновані IL (включаючи примітивні типи даних CTS)

        Підтримка та управління графічним інтерфейсом користувача Windows

        Web Forms (ASP.NET)

        Доступ до даних (ADO.NET)

        Доступ до каталогів

        Доступ до файлової системи і реєстру

        Взаємодія з мережею і доступ в Інтернет

        Атрибути і рефлексія. NET

        Доступ до аспектів операційної системи Windows

        Здатність взаємодії з СОМ

 

3.1.3 Простори імен .Net

Простори імен (namespace) - це спосіб, завдяки якому .NET уникає конфліктів імен між класами.

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

 

3.2Синтаксичні особливості c#

 

У С #, як і в інших С-подібних мовах, більшість операторів завершуються крапкою з комою (;) і можуть продовжуватися у кількох рядках без необхідності вказівки знака переносу. Оператори можуть бути об'єднані в блоки за допомогою фігурних дужок ({}). Однорядкові коментарі починаються з подвійного слеша (//), а багаторядкові – зі слеша із зірочкою (/ *) і закінчуються протилежної комбінацією (*/). Мова С # чутлива до регістру символів. Це означає, що змінні з іменами myVar і MyVar є різними.

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

using System;

namespace Wrox

{

Оператор using дозволяє підключати простори імен, щоб можна було звернутися до будь-якого класу просто по імені цього класу. Без using довелося б повністю уточнити виклик методу, вказавши повну ієрархію простору імен.

Далі оголошується клас. Весь код С # повинен міститися всередині класу. Оголошення класу складається з ключового слова class, за яким слідує ім'я класу і пара фігурних дужок. Весь код, асоційований з цим класом, розміщується між цими дужками.

class MyFirstClass

{

Далі оголошується метод Main (). Кожна виконувана програма С # (така як консольний додаток, додаток Windows або служба Windows) повинна мати точку входу - метод Main ().

public static void Main()

{

Цей метод викликається при запуску програми. Він повинен або нічого не повертати (void), або повертати цілочисельне значення (int). Формат визначення методу в С #:

[модифікатори] тип_повернення Ім’яМетоду ([параметри])

{

//Тіло методу. Код. Який щось виконує.

}

У перших квадратних дужках представлені необов'язкові ключові слова. Модифікатори використовуються для специфікації певних властивостей методу, таких як, наприклад, звідки цей метод може бути викликаний.

Оператор return здійснює вихід з методу (якщо це метод Main - вихід з програми).

Нижче наведено зразок найпростішої програми на мові C#.

using System;

namespace Wrox

{

public class MyFirstClass

{

static void Main()

{

Console.WriteLine("Hello from Wrox.");

Console.ReadLine ();

return;

}

}

}

Рекомендації

Одним із важливих аспектів, що забезпечують зрозумілість програм, є вибір імен для змінних, методів, класів, перерахувань і просторів імен. Очевидно, що ім'я має відображати призначення елемента і бути спроектованим так, щоб виключити конфлікти з іншими іменами. Загальна філософія середовища .NET Framework також свідчить, що ім'я змінної повинно відображати призначення її екземплярів, але не тип даних.

У більшості випадків рекомендується використовувати для імен стиль, відомий як Pascal casing. У цьому стилі кожне слово в імені пишеться з великої літери.

Назви просторів імен важливі для того, щоб забезпечити таке проектування, яке виключає ризик появи однакових імен у просторі імен. Назви просторів імен – це єдиний спосіб забезпечення розходження імен об'єктів в поділюваних збірках. NET.

Важливо, щоб всі назви не конфліктували з ключовими словами. Фактично, якщо спробувати назвати певний елемент у своєму коді словом, якому трапиться бути ключовим в С #, то майже напевно буде синтаксична помилка, тому що компілятор припустить, що це ім'я посилається на оператор мови.

 

3.2.1    Змінні

Синтаксис оголошення змінних в С # виглядає наступним чином:

ТипДаних Ідентифікатор;

наприклад:

int i;

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

i = 10;

Можна також одночасно оголосити змінну і ініціалізувати її:

int i = 10;

Якщо в одному операторі оголошуються і ініціалізуються більше однієї змінної, всі вони повинні бути одного типу:

int i = 10, у = 20; / / х та у мають тип int

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

Ініціалізація змінних

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

У С # використовуються два методи для забезпечення ініціалізації змінних перед

використанням.

        Змінні, які є полями класу або структури, якщо не ініціалізовані явно, за замовчуванням обнуляються в момент створення.

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

Виведення типу

Виведення типу з контексту здійснюється за допомогою ключового слова var. Синтаксис оголошення змінної при цьому дещо змінюється. Компілятор "виводить" тип змінної на основі того, як вона ініціалізується. Наприклад:

int someNumber = 0;

стає

var someNumber = 0;

Незважаючи на те, що змінна someNumber в другому випадку не оголошена як int, компілятор визначає, що someNumber повинна мати тип int до тих пір, поки ця змінна знаходиться в своїй області видимості.

Існують кілька правил, яких необхідно дотримуватися при виведенні типу:

        Змінна повинна бути ініціалізована. В іншому випадку компілятор не зможе вивести її дійсний тип.

        Ініціалізатор не може бути null.

        Ініціалізатор повинен бути виразом.

        Ініціалізатор не можна встановлювати в об'єкт, якщо тільки цей новий об'єкт не створюється в ініціалізаторі.

Область видимості змінних

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

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

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

        Локальна змінна, оголошена в операторах циклу for, while або подібних їм, видима в межах тіла циклу.

Константи

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

const int a = 100; / / Це значення не може бути змінено

Нижче перераховані основні характеристики констант.

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

        Значення константи має бути обчислено під час компіляції. Таким чином, ініціалізувати константу значенням, узятим з іншої змінної, не можна. Якщо все-таки потрібно це зробити, потрібно використовувати поля тільки для читання.

        Константи завжди неявно статичні.

 

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]