Форум программистов, компьютерный форум CyberForum.ru

Что такое инкапсуляция? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Графика в с++ http://www.cyberforum.ru/cpp-beginners/thread1198039.html
Здравствуйте, друзья программисты. Как подключить графику на с++ (консоль) в Visual Studio 2013?
C++ Не знаю как создать программу Прошу помочь создать программу с использованием стандартной библиотеки шаблонов. Я бы сделал сам, но скоро сессия и поэтому у меня мало времени, чтобы разбираться с принципами работы STL. А от данной программы будет очень зависеть моя оценка. Надеюсь на Вашу помощь. Так вот, само условие задачи: Пускай есть две фирмы. Нужно обеспечить возможность ввода информации о работниках фирм, в частности... http://www.cyberforum.ru/cpp-beginners/thread1198021.html
строки char16_t и char32_t C++
здравствуйте, читаю Прата Стивен - ЯП С++. там есть примеры вида: #include <iostream> using namespace std; int main() { wchar_t title = L"Chief Astrogator"; // строка w_char char16_t name = u"Felonia Ripova" ; // строка char_16 // char32_t car = U"Humber Super Snipe"; // строка char_32
Char+48 C++
Что означает char(f)+48, вернее, зачем пишется 48?
C++ Тип возвращаемого значения не соответствует типу функции http://www.cyberforum.ru/cpp-beginners/thread1197967.html
double get_left (void); { double e, c; e = ex - a; c = cx - r; return max(e, c); } double get_right (void); {
C++ Определить количество строк Определить количество строк, содержащих ‘:’ или ‘–’. #include<stdio.h> #include<stdlib.h> #include<conio.h> #include<string.h> int main (){ int i, kolvo1=0, kolvo2=0, kolvo3=0; char s; подробнее

Показать сообщение отдельно
Sasha Pr
2 / 2 / 1
Регистрация: 01.11.2014
Сообщений: 18
01.11.2014, 20:29     Что такое инкапсуляция?
Инкапсуляция это механизм скрытия данных. Но не только. Это ещё когда данные (свойства) и функции (методы), которые обрабатывают их, объединены в общей оболочке. Например в классе.
Но главное это скрытие информации. Управлять изменением данных можно с помощью модификаторов доступа: public, private и protected.
Пока что я себе это так представляю, например, есть класс:

C++
1
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
45
46
47
48
49
50
51
52
53
54
55
#include <iostream>
using namespace std;
 
class human
{
    // свойства (переменные) класса
public:
    int age;
private: // доступ открыт самому классу (т.е. функциям-членам данного класса) и друзьям (friend) данного класса, как функциям, так и классам
    int weight;
protected: // доступ открыт классам, производным от данного
    int height;
 
    // методы (функции) класса
public: // ко всем функциям, в public зоне, можно получить доступ из любой части программы
    void set_weight(int a)
    {
        weight = a;
    }
 
    void get_weight()
    {
        cout << weight << endl;
    }
 
    void set_height(int b)
    {
        height = b;
    }
 
    void get_height()
    {
        cout << height << endl;
    }
};
 
int main(){
 
    human Sonia;
 
    Sonia.age = 30;
    cout << Sonia.age << endl;
    //Sonia.weight = 60; // так не получается задать значение этому полю, потому что оно в прайвейт области private
    //Sonia.height = 179; // и этому так же, потому что оно в protected области
 
    // но с помощью функций, которые расположены в public области, можно работать со свойствами класса, которые в private и protected.
    // вот так:
    Sonia.set_weight(50); // задаём вес
    Sonia.get_weight(); // выводим вес
    Sonia.set_height(168); // устанавливаем рост
    Sonia.get_height(); // получаем рост    
 
    system("pause > nul");
    return 0;
}
Добавлено через 11 минут
Короче, инкапсуляция это скрытие (управление доступом) информации с помощью модификаторов доступа + объединение данных и функций в общей оболочке.
 
Текущее время: 15:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru