Як створити свій (користувацький) клас (програмування)?



+14 +/-

Основні принципи, які?

Профіль користувача Retributive Запитав: Retributive   (рейтинг 28299) Категорія: Інтернет

Відповідей: 1

1 +/-
Найкраща відповідь

Розглянемо приклад якогось призначеного для користувача класу (простого класу, без успадкування):

class MyClass {

private int myPrivateValue;

public int myPublicValue;

private property myPrivateProperty (int value): read (myPrivateValue): write (myPrivateValue);

public property myPublicProperty (int value): read (myPublicValue): write (myPublicValue);

private method myPrivateMethod (int x);

public method myPublicMethod (int x);

};

Даний інтерфейс (декларація членів класу без реалізації часто називається інтерфейсом класу) написаний на псевдомова.

Зазвичай клас являє собою сукупність властивостей (property), полів (в даному випадку, цілих змінних позначених як int) і методів (method). У найпростішому випадку, всі вони можуть бути як публічними (модифікатор public), так і приватними (модифікатор private).

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

Тепер, що таке поля. Поля можуть бути використані як звичайні змінні (до речі кажучи, іноді, як і константи - але це вже більш складний випадок).

Що таке властивості. По виду (для "користувача" класу) це такі-ж змінні, проте ми можемо контролювати, що користувач запише (ключове властивість write), і що вважає (read). У ключових словах read і write вказано відповідно, джерело і приймач. У нашому випадку, це просто поля, однак, ми могли-б вказати і якусь функцію. При введенні явно некоректного результат, ми могли-б запобігти зміні даних класу (різними способами, від простого ігнорування до генерування винятку - спеціального виду класу).

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

Також, існують такі поняття як перевантаження методів, інкапсуляція, поліморфізм, успадкування та інше. Більш детально, про класи можна прочитати тут.

Відповів на питання: Scanlan