Клас в програмуванні. Види класів в мовах програмування

Клас у програмуванні-це групування даних, полів та функцій або методів. Всі вони називаються змінними, методами або функціями-членами. Програма побудована з набору КЛАСІВ. Як тільки він визначений і реалізований, можна оголосити його елементи аналогічно мовним змінним з примітивних типів «int", "double" і»String".

Коротка історія мови програмування

Коротка історія мови програмування

SIMULA був першим об`єктним мовою, він використовувався для створення симуляцій. Алану Кею, який на той час навчався в Університеті штату Юта, сподобалася мова тим, що в перспективі її можна було застосувати для персональний комп`ютер з метою реалізації графічно-орієнтованих додатків. Він припустив, що така мова, як SIMULA, надасть новачкам хороший спосіб для створення програм, і поділився своїм баченням з Xerox Parc. На початку 1970-х років команда, очолювана Аланом Кей, створила перший ПК під назвою Dynabook з Об`єктно-орієнтованою мовою Smalltalk, який існує і донині, хоча в комерційних цілях не особливо широко використовується.

Ідея об`єктно-орієнтованого програмування (ООП) отримала розвиток в 1970-х, а на початку 1980-х Бьорн Страуструп інтегрував його в мову Сі, який став називатися "C ++" - перша об`єктно-орієнтована мова (ООЯ), яка широко використовується в комерційних цілях.

На початку 1990-х група В Sun під керівництвом Джеймса Гослінга розробила простішу версію C ++ під назвою Java. Яка повинна була стати мовою для додатків відео за запитом. Цей проект Java програмування з нуля так і не був реалізований. Група змушена була переорієнтувати свою увагу на розробку мови для інтернет-додатків. Він почав набувати все більшої популярності в міру розвитку Інтернету, хоча його проникнення на ринок було досить стриманим через, здавалося б, неефективність.

Об`єктно-орієнтоване моделювання

Класи та об`єкти є двома з небагатьох ключових будівельних блоків ООП. Вони використовуються для моделювання поведінки та інкапсуляції. У реальному світі можна знайти безліч окремих однотипних об`єктів. Наприклад, існують тисячі велосипедів однієї марки та моделі. Кожен був побудований з одного набору і, отже, містить рівні компоненти. В ОО термінах, це означає, що велосипед є екземпляром з класу об`єктів, відомих, як Велосипеди. Все просто. Клас в мовах програмування-це план, створення конкретних об`єктів. Наприклад, Bicycle є однією з можливих реалізацій.

Об`єктно-орієнтоване моделювання

Можна помітити, що Bicycle клас не містить "main" метод. Через те що він не представляє повне додаток, а тільки план для велосипедів. Відповідальність за створення і використання нових bicycle об`єктів належить іншому класу в програмуванні. A bicycle Demo - Це той, який створює два окремі bicycle об`єкти та викликає їх методи.

Bicycle викликає методи

Вихідні дані цього тесту виводять кінцеву швидкість і передачу для двох велосипедів.

Основні терміни

Змінна-це ім`я зі значенням, яке може змінюватися у всій програмі. Відповідно до інформації, що міститься, вони класифікуються на 2 і більше типу, в залежності від використовуваної мови. У загальному випадку існує 2 типи класифікацій:

  1. Змінні примітивних типів. Вони визначаються одним значенням-цілим, з плаваючою комою, символом або логічним знаком.
  2. Змінні-посилання-Це назви більш складної інформації: масиви або об`єкти певного класу.

Ключовим моментом ООП є запобігання неправильній інформації, оскільки змінні не були належним чином ініціалізовані. Для вірного визначення об`єктів необхідно використовувати конструктор-методів, що спрацьовує автоматично кожен раз, коли створюється об`єкт. Основна місія їх-зарезервувати пам`ять, виконати ініціалізацію змінних членів класу в програмуванні. Вони не мають поверненого значення "void" » і їх назва така ж, як і загальна група. Його неявний аргумент-це об`єкт, який створюється.

Класи та об`єкти в Python

Python відноситься до ОО мова програмування, тим самим відрізняючись від процедурно-орієнтованого, де основний упор робиться на функції, він базується на об`єктах. Об`єкт-набір даних і функцій, які впливають на них. Клас-це план для об`єкта. Можна думати про клас, як про ескіз (прототип) будинку. Він містить усі деталі про підлоги, двері, вікна та інші конструкції. На підставі цих описів будують будинок, який є об`єктом.

Класи та об`єкти в Python

Об`єкт-це просто набір даних і методів (функцій), які впливають на ці них. Клас-це план для об`єкта. Можна думати про клас, як про ескіз (прототип) будинку. Він містить усі деталі про підлоги, двері, вікна та інші конструкції. На підставі цих описів будують будинок, який є об`єктом.

Оскільки з опису можна зробити багато будинків, є можливість створити багато об`єктів з однієї групи. Вона також називається екземпляром. Що ми маємо в результаті? Що процес демонструє поняття екземпляра класу та його створення. Подібно до того, як визначення функцій починаються з ключового слова "def", у Python визначають групу за допомогою»class". Перший рядок називається "docstring" і має короткий опис класу.

Клас створює нове локальне простір імен, у якому визначені всі його атрибути, вони можуть бути даними або функціями. У ньому також є спеціальні, що починаються з подвійного підкреслення (__). Наприклад, "__ doc_ _ " дає рядок документа цього класу в програмуванні.

Як тільки його визначають, створюється новий об`єкт з тим же ім`ям. Це дозволяє отримувати доступ до різних атрибутів, а також створювати нові об`єкти цього класу.

Нові об`єкти цього класу

Ключове слово "class"

Python-відмінний мову, який підтримує ООП, його застосовують для установки класу. Він пропонує ряд переваг перед іншими мовами Java, C ++ або R. Це динамічна мова з типами даних високого рівня, тому розробка набагато швидша, ніж у Java або C ++. Програмісту не потрібно оголошувати типи змінних та аргументів. Це також полегшує розуміння та вивчення Python для початківців, його код більш читабельний та інтуїтивно зрозумілий.

Щоб визначити клас у Python, можна застосувати ключове слово "клас", а потім ім`я та двокрапка. Всередині його»__ init _ _ "метод повинен бути визначений за допомогою»def". Це ініціалізатор, який пізніше можна застосувати для створення об`єктів, він повинен бути присутнім завжди. Це схоже на конструктор Java.

Потрібен один аргумент "self", який стосується самого об`єкта. Усередині методу використовується ключове слово "pass", і застосовують правильний відступ. » Self "в Python еквівалентно» this" В C ++ або класів в Java. У цьому випадку є в основному порожній "Dog", але ще немає об`єкта. Клас має точні специфікації, як план або шаблон. Вони встановлюють контракт класу.

Розбивка подання

Клас можна розбити на дві частини:

  1. Заголовок класу, який складається з ключового слова "class" і імені, яке йому присвоюється. Імена в мовах програмування також відомі, як ідентифікатори.
  2. Тіло, яке складається з пари відкриваючих / закриваючих хвилястих дужок з елементами між ними.

Ось шаблон для вихідного коду класу:

class

{

...

}

Коли пишеться клас, його замінюють ім`ям. Тіло складається з одного або декількох елементів, рядок означає будь-яку кількість попередніх частин. Зокрема, ключове слово "class" має починатися з першого стовпця рядка, за яким слідує решта інформації заголовка-ідентифікатор у найпростішому випадку.

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

Колекція елементів

Вміст тіла класу складається з колекції елементів. Члени з змінних, званих полями, і частин, які він робить, що позначаються методами також відомими, як процедури.

Вміст тіла повинен мати відступ не менше двох стовпців. Багато програмістів роблять їх у чотири стовпці за раз, щоб полегшити читання вихідного коду. Кількість не має значення, але повинна відповідати будь-якій обраній сумі.

Є ще одне правило, яке потрібно виконувати: ідентифікатори класів повинні починатися з великої літери, також, як кожне нове слово в ньому.

Класи складаються з елементів. Члени - це або поля, або методи. Кожна по зобов`язана мати спеціальний метод з ім`ям "main", якщо об`єднати вихідний код, то вийде шаблон для мінімального додатки.

Це фактичний стандарт, де імена починаються з великої літери, як і додаткові слова в ньому. Наприклад: MyClass підходить, а myClass і Myclass-ні. Ідентифікатор класу також повинен бути ім`ям файлу, в який вводять вихідний код. Він зобов`язаний мати розширення ".java".

Ключове слово

Ключові слова класу в Java-це слова, зарезервовані як основні будівельні блоки мови. Не можна використовувати їх для Імен створюваних об`єктів. Такі як ідентифікатори КЛАСІВ, полів та методів. Компілятор розпізнає ці слова і розглядає їх, як особливі.

Ключове слово

Коли виконується програма Java, застосовується команда "java", яка запускає JVM, і вказують файл класу для його виконання. Процес починається зі спеціального методу, який користувач визначає, як» основний " метод програми. Ця угода є традицією Java програмування з нуля, успадкованої від " C ".

Вихідний код "main" () завжди виглядає приблизно так:

public static void main (String[ ] identifier)

{

...

}

Ключові "public" і "static", як спеціальні модифікатори, для знаходження "main" були знайдені і доступні. Ідентифікатор буває чим завгодно — але в значній мірі-стандарт використовує ім`я "арг", що є абревіатурою від аргументів.

Java конструктор класу

"Class" можна розуміти як прототип, який регламентує змінні та методи, загальні для конкретного типу екземплярів, він визначає все, що характеризує і може створювати один або кілька екземплярів. Він встановлює змінні та методи, загальні для екземплярів цього типу створеного класом, але потім кожен матиме свої власні значення: шаблон, колір і рецепт.

У Java, спочатку створюють клас, перш ніж буде можна створювати екземпляри. Об`єкт стає екземпляром класу. Він містить атрибути і методи, при створенні потрібно вказати типи, методи, функції та ім`я атрибутів, а також тип даних, імена та інші параметри які вони використовують.

Базова структура виглядає так.

Основна структура класу в Java

Створено JavaScript з назвою класу «MyClass», який має загалом три атрибути, і всі вони є приватними: "String",» int "та»float".

Гранична змінна

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

Мова C використовує 4 класи зберігання. А саме:

  1. Auto-встановлюється за замовчуванням для всіх змінних, оголошених всередині функції або блоку класів у C. Отже, ключове слово "auto" рідко використовується при написанні програм на мові Сі. Доступ до автоматичних змінних можливий лише всередині блоку/функції, в якій вони були оголошені, а не поза ними, що визначає їх сферу дії. Звичайно, до них можна отримати доступ у вкладені всередині батьківського блоку / функції,в яких була оголошена автоматична змінна. Тим не менш, до них можна отримати доступ і поза їх сферою дії, вказуючи на дуже точне місце в пам`яті, де знаходяться.
  2. Зовнішній, коли змінна визначена в іншому місці, а не там, де використовується. Як правило, значення присвоюється в одному блоці, і це може бути перезаписано в іншому. Таким чином, "extern" - це не що інше, як глобальна змінна, ініціалізована з дійсним значенням, в якому вона оголошена для використання в іншому місці.
  3. Статичний, використовується для оголошення статичних змінних, які широко застосовуються при написанні класів у C. Вони мають властивість зберігати своє значення навіть після того, як виходять за межі області видимості. Таким чином, можна сказати, що вони ініціалізуються лише один раз і існують до завершення програми, їм не виділяється Нова пам`ять, оскільки вони не оголошуються повторно, а область дії залежить від функції, для якої вони були визначені. Глобальні статичні змінні можуть бути доступні в будь-якому місці програми. За замовчуванням їм присвоюється значення 0 компілятором.
  4. Регістр, оголошує змінні, які мають ту ж функціональність, що і автоматичні. Єдина відмінність полягає в тому, що компілятор намагається зберегти їх у мікропроцесорі, якщо доступ вільний. Це робить використання набагато швидше, ніж в пам`яті під час виконання програми. Якщо вільний регістр недоступний, вони зберігаються тільки в пам`яті. Зазвичай мало змінних, до яких у програмі потрібно звертатися дуже часто, оголошуються з ключовим словом "register", що покращує час виконання програми.

Синтаксис: клас зберігання var_data_type ім`я_зміни.

Синтаксис: клас зберігання

Секрети програмування

Наступні рекомендації не є вичерпними і призначені для правильного використання шаблонів проектування об`єктно-орієнтованого програмування:

  1. Уникайте всемогутніх класів у Python.
  2. Застосовувати значущі імена.
  3. Розробляючи клас або рефакторинг існуючого коду, розробник повинен скласти список всіх завдань, і придумати ім`я.
  4. При застосуванні ООП набагато простіше придумати значущі імена, оскільки сам шаблон проектування часто визначає тип відповідальності.
  5. Ім`я класу зобов`язане починатися з великої літери. Якщо ім`я представляє складне слово або кілька слів, то перша буква кожного слова повинна верхнього регістра. Приклад: class Study, class StudyTonight etc.
  6. Класи містять члени-дані та функції-члени. А доступ до цих елементів і змінної залежить від специфікаторів.
  7. Поняття членів класу. Що це означає? Клас у C ++ схожий на структури в C. Єдина відмінність полягає в тому, що він за замовчуванням використовує приватний контроль доступу, а структура - public.
  8. Всі функції OOPS, обертаються навколо класів В C-успадкування, інкапсуляція, Абстракція та інші.
  9. Об`єкти містять окремі копії даних-членів.
  10. Можна створити стільки об`єктів, скільки потрібно.

Об`єкт має індивідуальні змінні. Вони ініціалізуються за допомогою спеціальних функцій класу, які називаються конструкторами. І всякий раз коли він виходить з області видимості, викликається інша спеціальна функція, звана Destructor, щоб звільнити пам`ять, зарезервовану об`єктом. C ++ не має автоматичного збирача сміття, як у JAVA, у ньому Destructor виконує це завдання.

Кожен об`єкт має різні змінні

У статті написано простою мовою про класи в програмуванні. Сподіваємося, матеріал був вам зрозумілий. Знання правил застосування об`єктно-орієнтованих мов-основна умова розробки успішного застосування. Хороша Архітектура означає Гроші, заощаджені на навчанні, обслуговуванні, тестуванні, виправленні, розширенні та масштабуванні вихідного коду. Це вимагає більше часу та турботи про Початковий розвиток, але швидко повертає інвестиції з більшими інтересами. Неминуче, що навіть краще розроблені архітектури потребують тимчасового коригування та рефакторингу.

Статті на тему