Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Хід роботи. Теоретичні відомості






Теоретичні відомості

Об’єктно-орієнтоване програмування – одна з парадигм програмування, яка розглядає програму як множину «об'єктів», що взаємодіють між собою. Основу ООП складають три основні концепції: інкапсуляція, успадкування та поліморфізм. Одною з переваг ООП є краща модульність програмного забезпечення (тисячу функцій процедурної мови, в ООП можна замінити кількома десятками класів із своїми методами). Попри те, що ця парадигма з'явилась в 1960-тих роках, вона не мала широкого застосування до 1990-тих, коли розвиток комп'ютерів та комп'ютерних мереж дозволив писати надзвичайно об'ємне і складне програмне забезпечення, що змусило переглянути підходи до написання програм.

Принципи ООП

v інкапсуляція – це механізм, який об'єднує дані і код, який маніпулює зтім даними, а також захищає і те, і інше від зовнішнього втручання або неправильного використання. В об'єктно-орієнтованому програмуванні код і дані можуть бути об'єднані разом; в цьому випадку говорять, що створюється так званий " чорний ящик". Коли коди і дані об'єднуються таким способом, створюється об'єкт (object). Іншими словами, об'єкт - це те, що підтримує інкапсуляцію;

v поліморфізм – це властивість, яка дозволяє одне і те ж ім'я використовувати для вирішення двох або більше схожих, але технічно різних завдань. Метою поліморфізму, стосовно об'єктно-орієнтованому програмуванню, є використання одного імені для завдання загальних для класу дій. Виконання кожної конкретної дії визначатиметься типом даних. Наприклад для мови Сі, в якому поліморфізм підтримується недостатньо, знаходження абсолютної величини числа вимагає трьох різних функцій: abs (), labs () і fabs (). Ці функції підраховують і повертають абсолютну величину цілих, довгих цілих і чисел з плаваючою точкою відповідно. У С ++ кожна з цих функцій може бути названа abs (). Тип даних, який використовується при виклику функції, визначає, яка конкретна версія функції дійсно виконується. У С ++ можна використовувати одне ім'я функції для безлічі різних дій. Це називається перевантаженням функцій (function overloading);

v наслідування – це процес, за допомогою якого один об'єкт може набувати властивостей іншого. Точніше, об'єкт може успадковувати основні властивості іншого об'єкта і додавати до них риси, характерні тільки для нього. Спадкування є важливим, оскільки воно дозволяє підтримувати концепцію ієрархії класів (hierarchical classification).

Хід роботи

Створити програму, в якій, натиснувши на button, перший раз label змінює текст на «Я студент групи БІ-46», а другий раз – «Мена звати Воронков А.Д.».

#pragma once

 

namespace l1 {

 

using namespace System;

using namespace System:: ComponentModel;

using namespace System:: Collections;

using namespace System:: Windows:: Forms;

using namespace System:: Data;

using namespace System:: Drawing;

 

/// < summary>

/// Сводка для Form1

/// < /summary>

public ref class Form1: public System:: Windows:: Forms:: Form

{

public:

Form1(void)

{

InitializeComponent();

//

//TODO: добавьте код конструктора

//

}

 

protected:

/// < summary>

/// Освободить все используемые ресурсы.

/// < /summary>

~Form1()

{

if (components)

{

delete components;

}

}

private: System:: Windows:: Forms:: Button^ button1;

protected:

private: System:: Windows:: Forms:: Label^ label1;

 

private:

/// < summary>

/// Требуется переменная конструктора.

/// < /summary>

System:: ComponentModel:: Container ^components;

 

#pragma region Windows Form Designer generated code

/// < summary>

/// Обязательный метод для поддержки конструктора - не изменяйте

/// содержимое данного метода при помощи редактора кода.

/// < /summary>

void InitializeComponent(void)

{

this-> button1 = (gcnew System:: Windows:: Forms:: Button());

this-> label1 = (gcnew System:: Windows:: Forms:: Label());

this-> SuspendLayout();

//

// button1

//

this-> button1-> Font = (gcnew System:: Drawing:: Font(L" Impact", 16.18F, System:: Drawing:: FontStyle:: Regular, System:: Drawing:: GraphicsUnit:: Point,

static_cast< System:: Byte> (204)));

this-> button1-> Location = System:: Drawing:: Point(70, 90);

this-> button1-> Name = L" button1";

this-> button1-> Size = System:: Drawing:: Size(220, 50);

this-> button1-> TabIndex = 0;

this-> button1-> Text = L" Натиснути тут";

this-> button1-> UseVisualStyleBackColor = true;

this-> button1-> Click += gcnew System:: EventHandler(this, & Form1:: button1_Click);

//

// label1

//

this-> label1-> AutoSize = true;

this-> label1-> Font = (gcnew System:: Drawing:: Font(L" Times New Roman", 18.18F, System:: Drawing:: FontStyle:: Regular, System:: Drawing:: GraphicsUnit:: Point,

static_cast< System:: Byte> (204)));

this-> label1-> Location = System:: Drawing:: Point(47, 44);

this-> label1-> Name = L" label1";

this-> label1-> Size = System:: Drawing:: Size(297, 29);

this-> label1-> TabIndex = 1;

this-> label1-> Text = L" Мене звати Воронков А.Д.";

//

// Form1

//

this-> AutoScaleDimensions = System:: Drawing:: SizeF(6, 13);

this-> AutoScaleMode = System:: Windows:: Forms:: AutoScaleMode:: Font;

this-> ClientSize = System:: Drawing:: Size(370, 152);

this-> Controls-> Add(this-> label1);

this-> Controls-> Add(this-> button1);

this-> Name = L" Form1";

this-> Text = L" Voronok";

this-> Load += gcnew System:: EventHandler(this, & Form1:: Form1_Load);

this-> ResumeLayout(false);

this-> PerformLayout();

 

}

#pragma endregion

private: System:: Void Form1_Load(System:: Object^ sender, System:: EventArgs^ e) {

}

private: System:: Void button1_Click(System:: Object^ sender, System:: EventArgs^ e) {

if (this-> label1-> Text == " Мене звати Воронков А.Д.") this-> label1-> Text = " Я студент групи БІ-46";

else

this-> label1-> Text = " Мене звати Воронков А.Д.";

 

}

};

}

 

Перше натиснення (рис.1).

рис.1

Друге натиснення (рис.2).

рис.2

Висновок: результатом виконання цієї лабораторної роботи стало засвоєння навичок роботи з формами в середовищі програмування Microsoft Visual C++.


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.011 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал