пользователей: 30398
предметов: 12406
вопросов: 234839
Конспект-online
РЕГИСТРАЦИЯ ЭКСКУРСИЯ

Классы и объекты в С#. Вложенные классы. Статические и динамические компоненты их различия и использование.

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

public class Point

{

    public int x, y;

    public Point(int x, int y)

    {

        this.x = x;

        this.y = y;

    } }

          Новые классы создаются с помощью объявлений классов. Вот простой пример объявления класса с именем Point(читай код )

Экземпляры классов создаются с помощью оператора new, который выделяет память для нового экземпляра, вызывает конструктор для инициализации этого экземпляра и возвращает ссылку на экземпляр. Следующие инструкции создают два объекта Point и сохраняют ссылки на них в две переменные:

Point p1 = new Point(0, 0);Point p2 = new Point(10, 20);

Занимаемая объектом память автоматически освобождается, когда объект становится недоступен.

         Члены класса могут быть статическими членами или членами экземпляра.Статические члены принадлежат классу в целом, а члены экземпляра принадлежат конкретным объектам (экземплярам классов).

Ниже перечислены виды членов, которые могут содержаться в классе: Константы, Поля, Методы, Свойства, Индексаторы, События, Операторы,  Конструкторы, Методы завершения, Типы

public class A {

public class В { }

}

public class EntryPoint { static void Main() {

А.В b = new A.B () ;}

}

         Вложенные классы определяются внутри области определения другого класса. Классы, определенные внутри контекста пространства имен или вне пространства имен, но не внутри контекста другого класса, называются не вложенными. Вложенные классы обладают некоторыми специальными возможностями, которые удобны, когда нужен вспомогательный класс, работающий внутри содержащего его класса.(читай второй код)

         Статический класс в основном такой же, как и нестатический класс, но имеется одно отличие: нельзя создавать экземпляры статического класса. Другими словами, нельзя использовать ключевое слово new для создания переменной типа класса. Поскольку нет переменной экземпляра, доступ к членам статического класса осуществляется с использованием самого имени класса. Статический класс может использоваться как обычный контейнер для наборов методов, работающих на входных параметрах, и не должен возвращать или устанавливать каких-либо внутренних полей экземпляра. Ниже приведены основные возможности статического класса: Содержит только статические члены, Создавать его экземпляры нельзя, Является запечатанным(нельзя наследовать), Не может содержать конструкторы экземпляров.

         Статические методы могут быть перегружены, но не переопределены, поскольку они относятся к классу, а не к экземпляру класса. Если класс содержит статические поля, должен быть указан статический конструктор, который инициализирует эти поля при загрузке класса.


14.01.2019; 12:23
хиты: 126
рейтинг:+1
для добавления комментариев необходимо авторизироваться.
  Copyright © 2013-2024. All Rights Reserved. помощь