SlideShare ist ein Scribd-Unternehmen logo
1 von 44
Бублик Володимир Васильович Програмування - 2 Лекція 1. Об'єктне програмування. Принцип інкапсуляції  Лекції для студентів 2 курсу
Інкапсуляція ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Дані і функції в структурах  ( як С моделює С++) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Виклик інкапсульованої функції ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Статичний указник на функцію ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Створення і видалення екземпляру структури ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Створення і видалення екземпляру структури ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Конструктор і деструктор ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Реалізація конструктора ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Реалізація деструктора ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Автоматичний виклик конструктора і деструктора ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
new :  конструктор ;  delete :  деструктор ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Конструктор і деструктор за замовчуванням ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Конструктор і деструктор за замовчуванням ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Поля(атрибути) і функції(методи) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Виклик конструктора з параметрами ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Виклик методів ,[object Object],[object Object],[object Object],[object Object],[object Object]
Варіант: утиліта ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Виклик утиліти ,[object Object],[object Object],[object Object],[object Object]
Прямий доступ ,[object Object],[object Object],[object Object]
Для чого потрібні методи доступу? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Права доступу ,[object Object],[object Object],[object Object],[object Object],[object Object]
Права доступу ,[object Object],[object Object],[object Object],[object Object],[object Object]
Права доступу ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Клас ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Об'єкт ,[object Object],[object Object],[object Object],[object Object],[object Object]
Клас  vs.  структура ,[object Object],[object Object],[object Object],[object Object],[object Object]
Повторення. Два способи запису ініціалізації ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Ініціалізація атрибутів в конструкторі ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Ініціалізація атрибутів в конструкторі ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Приклад 1.  Person.h ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Приклад 1.  Person.cpp  (конструктор) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Приклад 1.  Person.cpp  (деструктор) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Приклад 2.  WrappedVector.h ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Приклад 2.  WrappedVector.cpp ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Приклад 2.  WrappedVector.cpp ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Селектори і модифікатори ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Приклад 2.  WrappedVector.  Селектор-модифікатор ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Приклад 2.  WrappedVector.  Селектор-модифікатор ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Приклад 2.  WrappedVector.  Селектор і модифікатор ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Чому віддавати перевагу ,[object Object],[object Object],[object Object]
Що вживати: клас чи структуру? ,[object Object],[object Object],[object Object],[object Object]
Об'єкт – екземпляр класу  ,[object Object],[object Object],[object Object],[object Object]
Висновок ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

Weitere ähnliche Inhalte

Was ist angesagt?

09 Static Polymorphism
09 Static Polymorphism09 Static Polymorphism
09 Static Polymorphism
olegapster
 
07 Localisation
07 Localisation07 Localisation
07 Localisation
olegapster
 
06 Pointers To Class Members
06 Pointers To Class Members06 Pointers To Class Members
06 Pointers To Class Members
olegapster
 
Тестування з допомогою PHPUnit
Тестування з допомогою PHPUnitТестування з допомогою PHPUnit
Тестування з допомогою PHPUnit
Andriy Nasinnyk
 
"Is there life in react without redux" by Babich Sergiy. OdessaJS'2021
"Is there life in react without redux" by Babich Sergiy. OdessaJS'2021"Is there life in react without redux" by Babich Sergiy. OdessaJS'2021
"Is there life in react without redux" by Babich Sergiy. OdessaJS'2021
OdessaJS Conf
 
09 Object And Class Hierarchy
09 Object And Class Hierarchy09 Object And Class Hierarchy
09 Object And Class Hierarchy
olegapster
 
лекц2 невизн інт
лекц2 невизн інтлекц2 невизн інт
лекц2 невизн інт
cit-cit
 
Programuvanna na movi_pascal
Programuvanna na movi_pascalProgramuvanna na movi_pascal
Programuvanna na movi_pascal
1cana1
 
01 c# basics
01 c# basics01 c# basics
01 c# basics
eleksdev
 
SQL: Indexes, Select operator
SQL: Indexes, Select operatorSQL: Indexes, Select operator
SQL: Indexes, Select operator
eleksdev
 

Was ist angesagt? (20)

09 Static Polymorphism
09 Static Polymorphism09 Static Polymorphism
09 Static Polymorphism
 
07 Localisation
07 Localisation07 Localisation
07 Localisation
 
Phpunit модульне тестування
Phpunit модульне тестуванняPhpunit модульне тестування
Phpunit модульне тестування
 
06 Pointers To Class Members
06 Pointers To Class Members06 Pointers To Class Members
06 Pointers To Class Members
 
04 Operators
04 Operators04 Operators
04 Operators
 
Тестування з допомогою PHPUnit
Тестування з допомогою PHPUnitТестування з допомогою PHPUnit
Тестування з допомогою PHPUnit
 
"Is there life in react without redux" by Babich Sergiy. OdessaJS'2021
"Is there life in react without redux" by Babich Sergiy. OdessaJS'2021"Is there life in react without redux" by Babich Sergiy. OdessaJS'2021
"Is there life in react without redux" by Babich Sergiy. OdessaJS'2021
 
Lecture 07 swift
Lecture 07 swiftLecture 07 swift
Lecture 07 swift
 
Theme23-oop2
Theme23-oop2Theme23-oop2
Theme23-oop2
 
передача параметрів в функції
передача параметрів в функціїпередача параметрів в функції
передача параметрів в функції
 
Lecture 13 Local Optimization on Mobile Devices
Lecture 13 Local Optimization on Mobile DevicesLecture 13 Local Optimization on Mobile Devices
Lecture 13 Local Optimization on Mobile Devices
 
"Unit testing in AngularJS" Виктор Зозуляк
"Unit testing in AngularJS" Виктор Зозуляк"Unit testing in AngularJS" Виктор Зозуляк
"Unit testing in AngularJS" Виктор Зозуляк
 
09 Object And Class Hierarchy
09 Object And Class Hierarchy09 Object And Class Hierarchy
09 Object And Class Hierarchy
 
05 Arrays
05 Arrays05 Arrays
05 Arrays
 
лекц2 невизн інт
лекц2 невизн інтлекц2 невизн інт
лекц2 невизн інт
 
Programuvanna na movi_pascal
Programuvanna na movi_pascalProgramuvanna na movi_pascal
Programuvanna na movi_pascal
 
tsql
tsqltsql
tsql
 
01 c# basics
01 c# basics01 c# basics
01 c# basics
 
SQL: Indexes, Select operator
SQL: Indexes, Select operatorSQL: Indexes, Select operator
SQL: Indexes, Select operator
 
SQL Grouping, Joins
SQL Grouping, JoinsSQL Grouping, Joins
SQL Grouping, Joins
 

Andere mochten auch

Holistic Approach
Holistic ApproachHolistic Approach
Holistic Approach
reachab7
 
04 Object Hierarchy
04 Object Hierarchy04 Object Hierarchy
04 Object Hierarchy
olegapster
 
Lc Presentation
Lc PresentationLc Presentation
Lc Presentation
reachab7
 
06 Data Structures
06 Data Structures06 Data Structures
06 Data Structures
olegapster
 
Transactional Blackbelts are different
Transactional Blackbelts are differentTransactional Blackbelts are different
Transactional Blackbelts are different
reachab7
 

Andere mochten auch (15)

2012 Celebrity Kickoff Party
2012 Celebrity Kickoff Party2012 Celebrity Kickoff Party
2012 Celebrity Kickoff Party
 
Holistic Approach
Holistic ApproachHolistic Approach
Holistic Approach
 
The Race Party - Indianapolis 500 weekend
The Race Party - Indianapolis 500 weekendThe Race Party - Indianapolis 500 weekend
The Race Party - Indianapolis 500 weekend
 
2013 AllStar Celebrity Kickoff Party
2013 AllStar Celebrity Kickoff Party2013 AllStar Celebrity Kickoff Party
2013 AllStar Celebrity Kickoff Party
 
2013 pro bowl_maulifoundation_v1
2013 pro bowl_maulifoundation_v12013 pro bowl_maulifoundation_v1
2013 pro bowl_maulifoundation_v1
 
04 Object Hierarchy
04 Object Hierarchy04 Object Hierarchy
04 Object Hierarchy
 
Lupe Fiasco Grammy Party
Lupe Fiasco Grammy PartyLupe Fiasco Grammy Party
Lupe Fiasco Grammy Party
 
ProMerch_Marketing
ProMerch_MarketingProMerch_Marketing
ProMerch_Marketing
 
Lc Presentation
Lc PresentationLc Presentation
Lc Presentation
 
01 Paradigms
01 Paradigms01 Paradigms
01 Paradigms
 
2013 BRANDed
2013 BRANDed 2013 BRANDed
2013 BRANDed
 
06 Data Structures
06 Data Structures06 Data Structures
06 Data Structures
 
2014 Super Bowl NYC
2014 Super Bowl NYC2014 Super Bowl NYC
2014 Super Bowl NYC
 
Transactional Blackbelts are different
Transactional Blackbelts are differentTransactional Blackbelts are different
Transactional Blackbelts are different
 
Rafale startup101
Rafale startup101Rafale startup101
Rafale startup101
 

Ähnlich wie 01 Incapsulation

11 Iterated Containers
11 Iterated Containers11 Iterated Containers
11 Iterated Containers
olegapster
 
General Functors
General FunctorsGeneral Functors
General Functors
Dzendzula
 
10 Polymorphism
10 Polymorphism10 Polymorphism
10 Polymorphism
olegapster
 
програмування на мові паскаль
програмування на мові паскаль програмування на мові паскаль
програмування на мові паскаль
Helen Pata
 

Ähnlich wie 01 Incapsulation (19)

Oop - TTm
Oop - TTmOop - TTm
Oop - TTm
 
Функції в C++
Функції в C++Функції в C++
Функції в C++
 
cpp-2013 #20 Best practices
cpp-2013 #20 Best practicescpp-2013 #20 Best practices
cpp-2013 #20 Best practices
 
11 Iterated Containers
11 Iterated Containers11 Iterated Containers
11 Iterated Containers
 
Design patterns part 1
Design patterns part 1Design patterns part 1
Design patterns part 1
 
Tdd, ти де?
Tdd, ти де?Tdd, ти де?
Tdd, ти де?
 
Funkciji1
Funkciji1Funkciji1
Funkciji1
 
General Functors ...
General Functors                                                             ...General Functors                                                             ...
General Functors ...
 
General Functors
General FunctorsGeneral Functors
General Functors
 
"How I don't need a state management library in React app", Tetiana Melnyk
"How I don't need a state management library in React app", Tetiana Melnyk "How I don't need a state management library in React app", Tetiana Melnyk
"How I don't need a state management library in React app", Tetiana Melnyk
 
10 Polymorphism
10 Polymorphism10 Polymorphism
10 Polymorphism
 
V24 com to_net
V24 com to_netV24 com to_net
V24 com to_net
 
Advanced C#. Part 2
Advanced C#. Part 2Advanced C#. Part 2
Advanced C#. Part 2
 
Twig in symfony
Twig in symfonyTwig in symfony
Twig in symfony
 
Lecture 06. iOS Programming. Основи Objective-C
Lecture 06. iOS Programming. Основи Objective-CLecture 06. iOS Programming. Основи Objective-C
Lecture 06. iOS Programming. Основи Objective-C
 
Design patterns part 2
Design patterns part 2Design patterns part 2
Design patterns part 2
 
програмування на мові паскаль
програмування на мові паскаль програмування на мові паскаль
програмування на мові паскаль
 
JS Fest 2019/Autumn. Роман Савіцький. Webcomponents & lit-element in production
JS Fest 2019/Autumn. Роман Савіцький. Webcomponents & lit-element in productionJS Fest 2019/Autumn. Роман Савіцький. Webcomponents & lit-element in production
JS Fest 2019/Autumn. Роман Савіцький. Webcomponents & lit-element in production
 
Роман Савіцький, "Webcomponents & lit-element in production."
Роман Савіцький, "Webcomponents & lit-element in production."Роман Савіцький, "Webcomponents & lit-element in production."
Роман Савіцький, "Webcomponents & lit-element in production."
 

Kürzlich hochgeladen

Презентациія для сайта Група «Незабудка».pptx
Презентациія для сайта Група «Незабудка».pptxПрезентациія для сайта Група «Незабудка».pptx
Презентациія для сайта Група «Незабудка».pptx
OlgaDidenko6
 
аналептики та антидепресанти.шгшгпшгп.ppt
аналептики та антидепресанти.шгшгпшгп.pptаналептики та антидепресанти.шгшгпшгп.ppt
аналептики та антидепресанти.шгшгпшгп.ppt
JurgenstiX
 

Kürzlich hochgeladen (16)

psychologistpresentation-230215175859-50bdd6ed.ppt
psychologistpresentation-230215175859-50bdd6ed.pptpsychologistpresentation-230215175859-50bdd6ed.ppt
psychologistpresentation-230215175859-50bdd6ed.ppt
 
Супрун презентація_presentation_for_website.pptx
Супрун презентація_presentation_for_website.pptxСупрун презентація_presentation_for_website.pptx
Супрун презентація_presentation_for_website.pptx
 
Відкрита лекція на тему: "Сидерати - як спосіб виживання"
Відкрита лекція на тему: "Сидерати - як спосіб виживання"Відкрита лекція на тему: "Сидерати - як спосіб виживання"
Відкрита лекція на тему: "Сидерати - як спосіб виживання"
 
Іваніщук Надія Вікторівна атестація .pdf
Іваніщук Надія Вікторівна атестація  .pdfІваніщук Надія Вікторівна атестація  .pdf
Іваніщук Надія Вікторівна атестація .pdf
 
Презентациія для сайта Група «Незабудка».pptx
Презентациія для сайта Група «Незабудка».pptxПрезентациія для сайта Група «Незабудка».pptx
Презентациія для сайта Група «Незабудка».pptx
 
Бібліотека – розвиток дитячої творчості та дозвілля для дітейpptx
Бібліотека – розвиток дитячої творчості  та дозвілля для дітейpptxБібліотека – розвиток дитячої творчості  та дозвілля для дітейpptx
Бібліотека – розвиток дитячої творчості та дозвілля для дітейpptx
 
оцінювання дітей з особливими освітніми потребами у ЗЗСО.pptx
оцінювання дітей з особливими освітніми потребами у ЗЗСО.pptxоцінювання дітей з особливими освітніми потребами у ЗЗСО.pptx
оцінювання дітей з особливими освітніми потребами у ЗЗСО.pptx
 
атестація 2023-2024 Kewmrbq wtynh GNJ.pdf
атестація 2023-2024 Kewmrbq wtynh GNJ.pdfатестація 2023-2024 Kewmrbq wtynh GNJ.pdf
атестація 2023-2024 Kewmrbq wtynh GNJ.pdf
 
Супрун презентація_presentation_for_website.pptx
Супрун презентація_presentation_for_website.pptxСупрун презентація_presentation_for_website.pptx
Супрун презентація_presentation_for_website.pptx
 
Хімічні елементи в літературних творах 8 клас
Хімічні елементи в літературних творах 8 класХімічні елементи в літературних творах 8 клас
Хімічні елементи в літературних творах 8 клас
 
Defectolog_presentation_for_website.pptx
Defectolog_presentation_for_website.pptxDefectolog_presentation_for_website.pptx
Defectolog_presentation_for_website.pptx
 
Застосування Гайду безбар’єрності в роботі закладів культури громад Одещини.pdf
Застосування Гайду безбар’єрності в роботі закладів культури громад Одещини.pdfЗастосування Гайду безбар’єрності в роботі закладів культури громад Одещини.pdf
Застосування Гайду безбар’єрності в роботі закладів культури громад Одещини.pdf
 
матеріал для 10 класу урок історія України
матеріал для 10 класу урок історія Україниматеріал для 10 класу урок історія України
матеріал для 10 класу урок історія України
 
аналептики та антидепресанти.шгшгпшгп.ppt
аналептики та антидепресанти.шгшгпшгп.pptаналептики та антидепресанти.шгшгпшгп.ppt
аналептики та антидепресанти.шгшгпшгп.ppt
 
Проблеми захисту лісу в Україні та шляхи вирішення
Проблеми захисту лісу в Україні та шляхи вирішенняПроблеми захисту лісу в Україні та шляхи вирішення
Проблеми захисту лісу в Україні та шляхи вирішення
 
Горбонос 2024_presentation_for_website.pptx
Горбонос 2024_presentation_for_website.pptxГорбонос 2024_presentation_for_website.pptx
Горбонос 2024_presentation_for_website.pptx
 

01 Incapsulation

  • 1. Бублик Володимир Васильович Програмування - 2 Лекція 1. Об'єктне програмування. Принцип інкапсуляції Лекції для студентів 2 курсу
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.