В этом разделе мы поговорим об обзоре классов
. Мы всегда говорили, что C# — это объектно-ориентированное программирование, и ранее мы узнали, что каждый объект должен принадлежать классу. Многие классы определены в .net, но в реальном программировании. , нам также необходимо настроить некоторые классы для программы.
Все классы C# прямо или косвенно наследуются от класса System.Object, что позволяет классам C# наследовать от одного корня. Если мы явно не укажем унаследованный класс, компилятор по умолчанию будет считать, что этот класс наследуется от класса System.Object. Класс System.Object также может быть представлен ключевым словом object в нижнем регистре.
Точнее, есть три основных компонента класса, и, конечно, мы не будем здесь вдаваться в подробности. Подробное руководство я предоставлю позже, когда узнаю больше. Давайте поговорим об этом позже!
1. Атрибуты: Атрибуты хранят информацию об объекте. Как мы говорили ранее, используются методы доступа, поэтому они могут быть доступны только для чтения или для чтения и записи.
2. Методы.
Методы позволяют использовать объекты для выполнения операций, которые могут фактически взаимодействовать с другими объектами через настройки свойств, но методы могут выполнять некоторые составные операции.
3. События. Мы только что говорили о событиях в последнем классе. При запуске они могут выполнять соответствующие действия.
Наконец, когда мы полностью определили класс, мы можем его инкапсулировать. При его использовании нас не волнует, как он выполняет задачу. Нам просто нужно знать, какие у него публичные интерфейсы, какие у него свойства, какие у него есть методы и события. Все вместе они называются членами класса.
Как мы говорили ранее, мы можем использовать классы для создания N объектов, но все они изолированы. Итак, есть ли способ разделить объекты между двумя конкретными классами?
Давайте перейдем к делу. Мы можем определить ряд методов или атрибутов и применить их к классу в целом, а не использовать конкретно для объектов определенного класса. Это то, что мы называем общими членами (статическими членами). Например, если мы хотим узнать, сколько книг было опубликовано, мы используем атрибут count общего атрибута, или чтобы скорректировать цены на все книги, мы используем общий метод modemon(), который может предоставить скидку 20 % на все книги. книги.
Класс содержит несколько переменных. Данные этих переменных включены в переменные-члены (частные переменные, которые мы часто упоминали ранее). Он также содержит некоторые коды операций, и эти коды включены в функции-члены. На практике в операции мы предоставляем только ее свойства, методы, события и другие интерфейсы, а вся часть данных скрыта или инкапсулирована.
Переменные-члены и функции-члены вместе называются членами класса. Они разделены на статические и сущностные члены.
Давайте посмотрим на пример ниже
public static string aaa --------статическая переменная-член
public static void aaa() --------статическая функция-член
{
}
public string aaa -------------Переменная-член сущности
public void aaa() -------------Функция-член сущности
{
}
Обратите внимание, чтов приведенном выше примере
используется ключевое слово static
. При использовании статических переменных-членов вы можете напрямую использоватьчлен сущности, не объявляя объект. Перед его использованием необходимо сначала объявить объектную сущность
. будет создан в управляемой куче. Экземплярный тип называется объектом, и его основная особенность заключается в том, что он имеет собственную копию элементов данных. Эти члены данных, хранящиеся в конкретных объектах, называются членами экземпляра. Напротив, те элементы данных, которые не хранятся в конкретных объектах, называются статическими членами и объявляются в классе с модификатором static. Те, которые выполняют операции только со статическими элементами данных, называются статическими функциональными членами.
Также существует void: то, что возвращается после выполнения общего метода или функции, может быть любого типа, например int или string. Если вы хотите написать метод, который не возвращает значение, вы должны использовать ключевое слово void вместо типа возвращаемого значения.
Итак, мы, должно быть, заметили выше слово public. На самом деле у него есть три брата: Privateprotectedinternal. Они называются модификаторами доступа и используются для управления внешними операциями над членами класса с целью сокрытия данных.
Ниже мы объясним каждый из них
public: любой внешний класс может получать доступ к данным класса без ограничений.
частный: Ограничить внутреннее использование этого класса
. Защищенный: Помимо самого класса, любой класс, наследующий этот класс, может использовать
внутреннее: Это означает, что его можно использовать в том же приложении (Application) или библиотеке классов (Library), но это то, что нам в принципе не нужно.
http://www.cnblogs.com/thcjp/archive/2006/09/15/505022.html