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

54. Яп с#. Класс, объекты, поля и методы, конструкторы, деструкторы.

Класс — это тип, определяемый програм¬мистом, в котором объединяются структуры данных и функции их обработки.

Конкретные переменные типа данных «класс» называются экземплярами класса, или объектами.

Класс содержит константы и переменные, называемые полями, а также выполняемые над ними операции и функции. Функции класса называются методами. Предполагается, что доступ к полям класса возможен только через вызов соответствующих методов. Поля и методы являются элементами, или членами класса.

Рассмотрим простейший пример класса:

Namespace Myn_s{

Using System;

Public class MyClass{

Public MyClass(unit a){

This.a=a;

}

Public int f() {return 1;}

Private unit a,b;

}

Public class Tester {

Static void Main() {

MyClass mc=new MyClass(5);

MyClass mc1=new MyClass();

}

}

Примечание1. Классы в С# могут объединяться в одно пространство имен.

Примечание 2. Функция Main() реализуется в отдельном классе.

Примечание 3. Модификаторы доступа необходимо указывать перед каждым объявлением полей и методов класса, а так же перед классом.

Объекты в C# в обязательном порядке должны инициализироваться с помощью ключевого слова new.

Помощью сборщика мусора освобождается память под объекты. Сборщик мусора работает автоматически.

Конструкторы. Деструкт

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

Конст-ор опр, каким образом новый объект типа класса будет создан, как будет проводиться выделение памяти и инициализация объекта/

Пр.Class ch { public: Void f(inta);

Private: Inta; } Cl c; c.f(5);

Пр с использ-ем констр-ра примера кот на-ход выше:

Class ch { Public; Ch(int a)

Private: Int a; } Cl::ch(int a)

{ this->a=a; }

Описание кл происх сл образом:сначало указ имя кл,затем в () указ передаваемые парамет-ры.Вызывается к-р автоматич при создании объ-екта кл

Виды к-ра:

1)По умолчанию- без параметров.Внутри кл они описыв так:

Class cl { public: Cl();……

2)C параметрами:

Class cl { public; Cl(int a); Private }; Int b

Деструкторы.

Спец ф-я,но в отличие от к-ра параметры не передаются.Всегда () пустые. Деструкторы на-следуют имена своих классов, с добавлением лидирующего знака тильда '~' Объявляюте:

Class cl { public: Cl(int a); ~cl(); Private:};

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