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

Класи

Усі класи повинні розміщуватися в області дії namespace

проекту:

namespace ім'я_проекту

{

class name1

{

}

class name2

{

}

class program

{

static void Main(string[] args)

{

}

}

}

При описанні класу не треба ставити крапку із комою після правої фігурної дужки, як це вимагається в С та С++.

В C# після мітки доступу не потрібно ставити двокрапку або який інший роздільник окрім пробілу. Однак ставити мітку доступу треба перед кожним елементом даних або перед кожним методом класу.

Простір (область) імен

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

namespace ім’я_області

{

//класи та інші елементи, які входять в простір імен

} //кінець імя_області

Елементами простору імен можуть бути не тільки класи, але і інші області імен, які в цьому випадку являються вкладеними:

namespace my

{

class car

{

public void input ()

{

…………

}

…….

}

namespace my_friend // вкладена область імен

{

class horse

{

…………….

…………….

}

} //кінець області my_friend

} //кінець області my

В приведеному прикладі описана область імен my, в яку входить клас car і вкладена область імен my_friend. В останню входить клас horse. Завдяки тому, що класи car і horse входять в різні області імен, в них можуть бути елементи даних із однаковими ідентифікаторами.

Звертання до елементів області імен відбувається у відповідності до їхнього розміщення,

тобто із маршрутом до них.

Далі наведено приклад створення проекту namespace1. Автоматично відбувається створення області імен із таким же імям. В цій області імен є вкладена область myNamespace, у якій елементом являється клас car .

using System;

using System.Collections.Generic;

using System.Text;

namespace namespace1

{

namespace myNamespace

{

class car

{

string brand;

double price;

public void input (string b, double p)

{

string s;

Console.WriteLine("Enter brand");

brand = Console.ReadLine();

Console.WriteLine("Enter price");

s = Console.ReadLine();

price = Convert.ToDouble(s);

}

public void output()

{

Console.WriteLine("brand is {0} price={1}",brand, price);

}

}// кінець класу car

}// кінець області імен myNamespace

class Program

{

static void Main(string[] args)

{

myNamespace.car q = new namespace1.myNamespace.car();

q.input("Mers",12000);

q.output();

}

}//кінець класу Program

}//кінець області імен namespace1

Із цього прикладу видно як створюється об’єкт q типу car, звернення до конструктора цього класу і як із його допомогою викликаються функції input() та output().

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

При зверненні до існуючого простору імен використовується ключове слово using. В приведеному прикладі цю директиву використану для доступу до просторів імен System, System.Text,

System.Collections.Generic.

Директива using може бути використана також для доступу до власних областей імен, які програміст розмістив у власній бібліотеці.

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