Creating Your Own Namespace


It is common to use namespaces when working on large programs. Using your own namespaces provides a degree of control over similarly named methods and types. For example, assume you are writing an application that loads both statistical data and image files from a disk. You could create two new namespaces, one called Images and one called StatisticalData. As you are using two separate namespaces, all the names of the methods defined in each namespace will be unique, even if the individual classes have the same name. This means you could have a class called FileHandling in both namespaces, both containing a method called Load. You could specify the class you wanted by referring to either StatisticalData.FileHandling or Images.FileHandling.

It is good practice to create a separate folder for each namespace in your Visual C# Express project.


Ускоренный доступ к содержимому пространства имен

Для использования метода WriteLine, определенного в классе Console, который содержится в пространстве имен System, следует использовать строку кода, как показано далее.

System.Console.WriteLine("Hello, World!");

Необходимость помнить, что всем методам, содержащимся в Console, должно предшествовать System быстро становится утомительной, поэтому в начало исходного файла C# целесообразно вставить директиву using, как показано далее.

using System;

Добавление using System; устанавливает, что предполагается использование классов из пространства имен System. Впоследствии можно обратиться к классу Console, используя его короткое имя, написав

Console.WriteLine("Hello, World!");

Создание собственного пространства имен

Обычно пространства имен используются при работе с большими программами. Собственные пространства имен предоставляют определенный уровень контроля над методами и типами с одинаковыми именами. Например, предположим, что выполняется написание приложения, загружающего с диска статистические данные и файлы изображений. Можно создать два новых пространства имен, одно с именем Images, а другое — StatisticalData. Поскольку используются два отдельных пространства, все имена методов, определенные в каждом из них, будут уникальными, даже если отдельные классы имеют одинаковые имена. Предположим, что в обоих пространствах находится класс с именем FileHandling и в каждом классе есть метод с именем Load. Для указания нужного класса можно обратиться к StatisticalData.FileHandling или Images.FileHandling.

Для каждого пространства имен в проекте Visual C# рекомендуется создать отдельную папку.


Example

The following example defines two namespaces, each containing a class named FileHandling. By specifying the namespace, it's possible to quickly differentiate between the classes and the methods they contain.

namespace StatisticalData { class FileHandling { public void Load() {} // code to load statistical data } }   namespace Images { class FileHandling { public void Load() {} // code to load an image file } }   class Program { static void Main() { StatisticalData.FileHandling data = new StatisticalData.FileHandling(); data.Load();   Images.FileHandling image = new Images.FileHandling(); image.Load(); } }

Пример

В следующем примере определяются два пространства имен, в каждом их которых содержится класс с именем FileHandling. Указав пространство имен, можно быстро отличать одни классы от других, имеющих такие же имена.

 

 

ß------


Classes

C# is an object-oriented programming language, and in common with other modern languages, it groups related fields, methods, properties, and events into data structures called classes.

Classes vs. Objects

A class is basically a blueprint for a custom data type. Once you define a class, you use it by loading it into memory. A class that has been loaded into memory is called an object or an instance. You create an instance of a class by using the C# keyword new.

Here is an example of a class definition called SampleClass, and the creation of an object called sampleClass1 that is an instance of that class. Because C# requires that the Main function be defined inside a class, the following code also defines a Program class, but that class is not used to create an object.

using System; class SampleClass { public void SayHello() { Console.WriteLine("Hello, World!"); } } class Program { //Main is the entrypoint, where every C# program starts static void Main(string[] args) { SampleClass sampleClass1 = new SampleClass(); // Create an object sampleClass1.SayHello(); // Call a method } }

Just as you can build any number of houses based on the same blueprint, you can instantiate any number of objects of the same class. It is very common to have arrays or lists that contain many objects of the same class. Each instance of the class occupies a separate memory space and the values of its fields (except its static fields as discussed below) are separate and independent. In the code example below, you could create one object of type Animal and set its size to 2, and another object whose size you set to 3. However, there is an important exception to this rule, and that is the static member.


Классы

C# является объектно-ориентированным языком программирования и аналогично другим современным языкам группирует связанные поля, методы, свойства и события в структуры данных, которые называются классами.

Классы и объекты

Класс, по сути, является чертежом для пользовательского типа данных. Определив класс, его можно использовать, загрузив в память. Класс, загруженный в память, называется объектом или экземпляром. Экземпляр класса создается с помощью ключевого слова C# new.

Далее представлен пример определения класса с именем SampleClass и создание объекта с именем sampleClass1, который является экземпляром этого класса. Поскольку необходимо, чтобы функция Main была определена внутри класса, в следующем коде описывается класс Program, который однако он не используется для создания объекта.

using System;class SampleClass{ public void SayHello() { Console.WriteLine("Hello, World!"); }}class Program{ //Main is the entrypoint, where every C# program starts static void Main(string[] args) { SampleClass sampleClass1 = new SampleClass(); // Create an object sampleClass1.SayHello(); // Call a method }}

Подобно тому, как на основе одного чертежа можно построить несколько зданий, можно создать любое количество объектов одного класса. Очень часто используются массивы или списки, содержащие множество объектов одного класса. Каждый экземпляр класса занимает отдельную область памяти; значения его полей (исключая статические поля, как описано далее) также являются независимыми для каждого из экзмепляров. В представленном ниже примере кода создается один объект типа Animal, ему задается размер "2", и другой объект с размером "3". Однако для этого правила существует важное исключение, а именно статический член.




Дата добавления: 2022-05-27; просмотров: 131;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.008 сек.