Класи в ООП. Об'єкти, поля та методи класу.

Про матеріал
В даному матеріалі розкривається зміст поняття класу в об“єктно-орієнтовному програмуванні, поняття об'єкта, поля та методу класа шляхом встановлення взаємозвʼязку та аналогії між програмними та реальними обʼєктами.
Перегляд файлу

Первомайський ЦНТТУМ

Гурток «Сучасні технології програмування»

Керівник гуртка Семенова Олена Анатоліївна

Розробка заняття на тему:

Тема: «Клас ООП. Об`єкти,  поля, методи класу.»

Мета:  повторити зміст поняття класу та об“єкта класу, розкрити зміст понять «поля, методи» класу, виховувати вміння встановлювати взаємозвʼязок та аналогію між програмними та реальними обʼєктами, розвивати увагу, спостережливість та логічне мислення.

Обладнання: ПК, ПЗ середовище програмування DevC++.

Хід заняття

1. Організаційний момент та розминка.

1. Складаємо 12 слів, що вміщують не менше 5 символів із літерами : «ф, і, в, а, п, р, о, л, д, ж, к, е, н, г, т, ь, и, м»

2. Записуємо 4 рядка цих слів за допомогою сліпого десятипальцевого методу набору.

3. Перевіряємо правильність набору та ставимо усні оцінки своїй роботі.

2.  Основна частина. Повторення та перехід до засвоєння нових понять.

 Сьогодні ми продовжимо розглядати основне поняття ООП — класи. Але для початку давайте пригадаємо, що собою взагалі являє ООП і його принципи.

 Для цього дайте, будь ласка, відповіді на такі питання:

1. Чим відрізняються процедурне та об“єктно-орієнтовне програмування?

2. Які ви знаєте основні принципи ООП?

3. Що таке «інкапсуляція», «поліморфізм», «наслідування»? Наведіть приклади з реального життя.

 Таким чином, ми пам“ятаємо, що ООП не замінює традиційні методи програмування, що це є просто додатковий інструмент для управління складністю сприйняття даних, щоб програмісту було легше працювати з кодом. І незважаючи на те, що ми з вами вивчаємо мову С++, зауважу, що методи, принципи ООП, як і поняття алгоритму, є спільними для будь-якої об“єктно-орієнтованої мови програмування. Так само, як і основне поняття ООП — клас.

 Розглядаючи суть ООП на минулому занятті ми з вами вже торкнулися, звичайно, цього поняття… Ну, як? Можете відповісти на запитання, що таке клас? Так, клас це тип даних користувача, який ви можете написати власноруч.. Лишилось тільки пригадати, що воно за звір… Доречі, про звірів… :)  Який клас ви створили для прикладу при виконанні самостійного завдання? Тварин? Рослин? Давайте подивимось і пригадаємо поняття класу на ваших кодах...

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

#include <iostream>

#include <string>

#include <windows.h>

using namespace std;

 class  Cats //Об“являємо та описуємо клас котів

{public:

string name;

int age;

};

 З минулого заняття ми знаємо, як називаються дані, які характеризують  об“єкт: в нашому прикладі ім“я та вік кота (?). Правильно, їх називають полями класу: поле name  та поле age.

 Тепер створюємо об“єкт цього класу: кіт віком 2 роки, якого звуть Саймон.

 іnt main ()

{

Cats cat1;

cat1.name =“Simone“;

cat1.age = 2;

 

return 0;

}

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

 Тепер, щоб побачити і перевірити значення наших даних в консолі, лишається тільки застосувати оператор cout.

 іnt main ()

{

Cats cat1;

cat1.name =“Simone“;

cat1.age = 2;

cout<<“cat1 name is -  “<<cat1.name<<endl;

cout<<“cat1 age is - “<<cat1.age<<endl;

(або як це зробити однією строчкою? cout<<“cat1 name is -  \t“<<cat1.name<<“\tcat1 age is - \t“<<cat1.age<<endl;

return 0;

}

 Оскільки поняття класу та його об“єкту прийшло з реального життя, то ми всі чудово розуміємо, що об“єкт класу не обмежений лише його характеристиками — полями. Хоча і в такому вигляді створенний тип даних користувача дає певне полегшення та скорочення коду. Але так само як наш кіт в реальному житті має не тільки вагу та ім“я, але може ще й шкрябати шпалери :),

в програмуванні при створенні класу ми можемо також додати певну дію, яка нам потрібна для роботи з об“єктами цього класу при створенні нашої програми.

 В нашому прикладі такою дією може стати виведення інформації про кота.

 Ми можемо додати функцію, яка буде робити цей вивід при звертанні до неї прямо в описування нашого типу даних користувача. Назвемо нашу функцію Print :).

class  Cats //Об“являємо та описуємо клас котів

{public:

string name;

int age;

void Print () (що саме буде написано далі?)

{ cout<<“cat1 name is -  \t“<<name<<“\tcat1 age is - \t“<<age<<endl;

}

};

 Тепер в тілі програми щоб зробити виведення інформації про об“єкт нашого класу нам не треба знову набирати  cout… і т.ін.  Достатньо звернутись до функції, що ми описали в нашому типі даних:

 іnt main ()

{

Cats cat1;

cat1.name =“Simone“;

cat1.age = 2;

cat1.Print();

return 0;

}

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

 Давайте спробуєм застосувати ці нові знання .. Пам“ятаєте наш улюблений код: калькулятор? :) Ми писали і переписували його багато разів із застосуванням різного типу операторів … Яких, спробуємо згадати? :) 

 

 Аналогічно тому, як ви створювали свої перші калькулятори, для початку давайте створимо клас, методом якого буде додавання. Тобто вам треба створити клас, полями якого будуть цілі х та у, а методами будуть введення двох чисел та результат: їх сума.

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

 

 

 

 

 

 

 

 

 

 

 

 

Бажаю успіхів у створенні програмного коду! :)

docx
Додано
24 квітня 2020
Переглядів
1447
Оцінка розробки
Відгуки відсутні
Безкоштовний сертифікат
про публікацію авторської розробки
Щоб отримати, додайте розробку

Додати розробку