русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Дані: поля і константи


Дата додавання: 2015-01-08; переглядів: 1363.


 

Дані, що містяться в класі, можуть бути змінними або Змінні, описані в класі, називаються полями класу.

При описі елементів класу можна також указувати атрибути і специфікатори, які задають різні характеристики елементів. Синтаксис опису елементу даних приведений нижче:

 

[ атрибути ] [ специфікатори ] [ const ] тип ім'я [ = начальне_значення ]

 

Атрибути будуть розглянуті в розділі 12, а можливі специфікатори полів і констант перераховані в таблиці 5.2. Для констант можна використовувати тільки специфікатори 1- 6.

 

Таблиця 5.2.

Специфікатори полів і констант класу

 

Специфікатор Опис
new Новий опис поля, що приховує успадкований елемент класу
public Доступ до елементу не обмежений
protected Доступ тільки з даного класу і похідних класів
internal Доступ тільки з даної збірки
protected internal Доступ тільки з даного класу і похідних класів і з даної збірки
private Доступ тільки з даного класу
static Одне поле для всіх екземплярів класу
readonly Поле доступне тільки для читання
volatile Поле може змінюватися іншим процесом або системою

 

За умовчанням елементи класу вважаються за закриті ( private ) . Для полів класу цей вид доступу є переважним, оскільки поля визначають внутрішню будову класу, яка має бути прихована від користувача. Всі методи класу мають безпосередній доступ до його закритих полів.

Поля, описані із специфікатором static, а також константи існують в єдиному екземплярі для всіх об'єктів класу, тому до них звертаються не через ім'я екземпляра, а через ім'я класу. Якщо клас містить тільки статичні елементи, екземпляр класу створювати не потрібно.

Звернення до поля класу виконується за допомогою операції доступу (крапка). Праворуч від крапки задається ім'я поля, зліва - ім'я екземпляра для звичайних полів або ім'я класу для статичних. У лістингу 5.1 приведені приклад простого класу Demo і два способи звернення до його полів.

 

 

Лістинг 5.1. Клас Demo, що містить поля і константу

using System;

namespace ConsoleApplication1

{

class Demo

{

public int a = 1; // поле даних

public const double с = 1.66; // константа

public static string s = "Demo"; // статичне поле класу

double y; // закрите поле даних

}

 

class Classl

{

static void Main( )

{

Demo x = new Demo( ); // створення екземпляра класу Demo

Console . WriteLine ( x.a ); // x.a - звернення до поля класу

Console . WriteLine ( Demo.с ); // Demo.с - звернення до константи

Console . WriteLine ( Demo.s ); // звернення до статичного поля

}

}

}

 

Поле у вивести на екран аналогічним чином не вдасться: воно є закритим, тобто недоступно ззовні ( з класу Classl). Оскільки значення цьому полю явним чином не привласнене, середовище привласнює йому значення нуль.

Всі поля спочатку автоматично ініціалізувалися нулем відповідного типу (наприклад, полям типу int привласнюється 0, а посиланням на об'єкти - значення nu11) . Після цього полю привласнюється значення, задане при його явній ініціалізації. Завдання початкових значень для статичних полів виконується при ініціалізації класу, а звичайних - при створенні екземпляра.

 

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

 

Методи

 

Метод - це функціональний елемент класу, який реалізує обчислення або інші дії, що виконуються класом або екземпляром. Методи визначають поведінку класу.

Методом є закінчений фрагмент коду, до якого можна звернутися по імені. Він описується один раз, а викликатися може стільки разів, скільки необхідно. Один і той же метод може обробляти різні дані, передані йому як аргументів.

Синтаксис методу:

[ атрибути ] [ специфікатори ] тип імя_метода ( [ параметри ] )


<== попередня лекція | наступна лекція ==>
Тіло класу | Тіло методу


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн