Вопрос C++. Объектно-ориентированное программирование.

Регистрация
26 Ноя 2012
Сообщения
88
Репутация
0
Спасибо
0
Монет
0
Что такое ООП в С++ простым языком? Просто объясните на пальцах, а то я читаю, а там какие-то инкапсуляции в глаза лезут. Ребят, пожалуйста :'(
 
Проще всего: Для С++ класс - это абсолютно та же структура! (В других языках не так). Класс может содержать не только данные, но и функции. Функция, которая входит в состав класса, называется метод. Только у класса по умолчанию все методы и данные private. Другое дело - правильно использовать классы. Это сложнее.
 
Когда используешь как основу программы классы, все в классах, когда например пишешь игру и игрок это класс, пуля это класс - это ООП на С++
 
Пожалуйста имейте ввиду, что этот пользователь забанен
Это значит не процедурный :)
 
Пример из java. Создаём объект Human - человека: Human hum = new Human(23,"Петя"); Где передали параметры 23 (возраст) и "Петя" (имя) в конструктор. Эти параметры сохранены в объекте hum в его полях. Теперь вызываем для данного объекта функцию, которая имеет доступ к полям объекта. int age = hum.getAge(); функция getAge, вызванная у объекта hum типа Human, вернула его возраст. Вызываем другой метод: hum.kill(); Теперь создаем наследника классу Human, назовём его Child. Child является Human, но может переопределить методы класса Human и добавить новые, таким образом расширить класс и изменить. Human hum2 = new Child(5,"Вася",hum); тут у конструктора есть дополнительный параметр, где задаётся родитель ребёнка. Теперь вызываем hum2.kill(); этот метод мог быть переопределен. Интерфейсы: Есть интерфейсы comparable, cloneable, runnable и др. Интерфейс принуждает класс иметь в наличии опр. функционал (методы и т. д). comparable - объекты класса можно сравнивать (метод compare - больше, меньше или равен). Заранее написанный алгоритм сортировки может требовать от объектов класса быть сравнимыми между собой (comparable). Cloneable - объект можно скопировать методом clone. И т. д. и т. п. То есть наделяем функционалом, который должен быть реализован в классе.
 
Назад
Сверху