АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Конструкторы и деструкторы

Читайте также:
  1. Главные конструкторы – Королев и Янгель
  2. Статические поля, методы, конструкторы, классы.
Конструктор – вызывается автоматически при создании экземпляра класса – У конструктора такое же имя, как и у его класса, а с точки зрения синтаксиса он подобен методу. – Конструктор инициализирует объект при его создании. – Метод с именем класса (например, Point()). class Motorcycle { public int driverIntensity; public string driverName; public Motorcycle() { } // Избыточная логика конструкторов! public Motorcycle(int intensity) { if (intensity > 10) { intensity = 10; } driverIntensity = intensity; } public Motorcycle(int intensity, string name) { if (intensity > 10) { intensity = 10; } driverIntensity = intensity; driverName = name; } ... }   • Деструктор – Метод с тильдой и названием класса (~Point()) – Активно не используется, так как при автоматической сборке мусора неизвестно когда будет вызываться. Деструктор используется для освобождения неуправляемых ресурсов: //Override System.Object.Finalize() via finalizer syntax. class MyResourceWrapper { ~MyResourceWrapper() { // Clean up unmanaged resources here. // Beep when destroyed (testing purposes only!) Console.Beep(); } }  

Конструктор по умолчанию

Конструктор класса без параметров называется конструктором по умолчанию (default constructor)

Конструктор по умолчанию без операторов автоматически создается компилятором в классе (если нет никакого другого конструктора).

Например:

class Student

{ String Name;

int course; }

...

// используем автоматически созданный конструктор

Student st = new Student();

Если в классе описан хотя бы один конструктор, то конструктор по умолчанию автоматически не создается.

class Student

{

String Name;

int course;

public Student(string nm, int crs) {Name=nm; Course=crs;}

}

...

// используем автоматически созданный конструктор, а его уже нет!!!

Student st = new Student(); // ошибка!

Структуры и перечисления

Структуры

Структуры и классы очень похожи. Структуры могут реализовывать интерфейсы и включать в свой состав тоже что и классы. Но есть и серьезные отличия. Структуры больше подходят для использования по значению, нежели по указателю. Наследования для структур не поддерживается. Значения структур хранятся в стеке

struct STUDENT

{

public string fio;

public string FormOfEducation;

public int course;

public string faculty;

 

public STUDENT (string name)

{

this.fio = name;

this.FormOfEducation = "Неопределено";

this.course = 0;

this.faculty = "Неопределено";

}

}

 

static void Main(string[] args)

{

STUDENT stud = new STUDENT("Нгуен Павел Зунгович");

print(stud);

Console.Read();

}


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |

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



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.005 сек.)