Як правило, поля класу описують з модифікатором доступу privat.
Тому доступ до таких полях з інших класів неможливий. Будь-яка спроба прочитати значення з цього поля або записати в нього щось, викликає помилку.
Однак часто доступ до полів буває потрібен. Для цього використовуються властивості. Властивості ще називають: методи аксессор.
Напишемо властивості для кожного поля цього класу.
Як ми бачимо, кожне властивість має заголовок і тіло. У заголовку вказується модифікатор доступу (зазвичай public), тип повертається властивістю значення (у нас double) і ім'я властивості. Ім'я властивості таке ж як ім'я поля, якому воно відповідає, тільки починається з великої літери.
В тілі оголошено два методу get і set. Більше нічого в тілі властивості оголошувати не можна. Метод get має ключове слово return і повертає якесь значення (зазвичай значення поля). Якщо цей метод є, то значення відповідного поля можна читати.
Метод set має ключове слово value і привласнює (встановлює) це значення полю об'єкта. Якщо цей метод є, то відповідному полю можна привласнювати значення.
В якості може бути відсутнім get або set. Тоді поле буде тільки для читання або тільки для запису.
Описані вище властивості можна використовувати в іншому класі і це не викличе ніякої помилки. Звернення до властивості схоже на звернення до методу, тільки круглі дужки, як в методі, не пишуть.
Властивості разом з модифікаторами доступу реалізують механізм захисту даних від несанкціонованого доступу.
Клас як тип, визначений користувачем, повинен містити: