С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Понятия инкапсуляции, полиморфизма и наследования - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Решение неравенства http://www.cyberforum.ru/cpp-beginners/thread1086648.html
Задание. Написать программу для решения заданной задачи. В решении обязательно предусмотреть все возможные случаи соотношения параметров задачи, в том числе и случаи, когда задача не имеет решений....
C++ Скачал прогу, хотел поставить. Прога выкинула флаг- требуется отладка с помо визуал студио Иначе она не станет. Я согласился. Прога вызвала студию, или студия вызвалась- я не знаю. Очень прикольно и неожиданно. Только что делать? Пожалуйста разъясните! http://www.cyberforum.ru/cpp-beginners/thread1086646.html
C++ Задача с классами С++
Указать на начало списка (список-множество) Методы Найти значение в множестве ( ф-я возвращает 1,если значение найдено, и 0 - в противном случае Добавить значение в мн-во ( если знач. уже...
Юлианский календарь C++
Здаров. Посмотрите пожалуйста задачу И попробуйте решить по разбору. вот что получилось у меня: #include <iostream> using namespace std; int main()
C++ Функции сложения, вычитания, умножения и деления двух чисел http://www.cyberforum.ru/cpp-beginners/thread1086630.html
Не могу найти ошибок,программа не правильно работает. Вот условие : Напишите программу, которая использукет 4 функции. Каждая функция используется для сложения, вычитания, умножения и деления двух...
C++ Оптимальный путь Доброго времени суток! Прошу у вас помощи) Есть задача на поиск оптимального пути Алгоритм задачи: 1)А-массив,описывающий значение коэффициентов по строкам,размерность 2)В-массив,описывающий... подробнее

Показать сообщение отдельно
rrrFer
Заблокирован
01.02.2014, 10:15
Цитата Сообщение от gray_fox Посмотреть сообщение
ИМО, всё таки на понятия "реального мира" ООП не стоит так прямо отображать, если только для упрощения понимания... Мы же не наследуем класс квадрата от класса прямоугольника, правда?)
Похожие примеры есть в какой-то классической книжке по ООП. Пример в книжке был следующего вида - окружность и точка. Математически - окружность - множество точек, равноудаленных от заданной. Даже в этом тривиальном случае ООП не позволяет нам описать объекты "по определению", а с не математическими объектами все еще сложнее. Все в той же классической книге шли долгие размышления, что лучше - описать окружность как "точку с радиусом" или описать точку как окружность нулевого радиуса.

Про правильное наследование можно у Саттера почитать - он описывает виды отношений, которые может выражать наследование и раскладывает все по полочкам.

Дак вот квадрат является прямоугольником, стороны которого имеют равную длину. Мне кажется, Саттер одобрил бы наследование. (см. правило 37 у Саттера).

Цитата Сообщение от abit Посмотреть сообщение
Наследование - если честно это старый приём, который раньше назывался агрегирование
Можно почитать Саттера на этот счет. У него там есть описание случаев, в которых агрегирование не даст результата.

Добавлено через 7 минут
Вцелом, все размыто более чем. ООП бывает разным. Вот есть ряд заморских товарищей, которые считают, что в SWI Prolog есть ООП и находят все основания для этого. Так, по их мнению, объект - это экземпляр подключенного модуля. Модуль - класс. Инкапсуляция - модуль предоставляет открытый интерфейс в SWI, все что к нему не относится - закрыто. У модуля (читай объекта) есть состояние - локальная база данных. Модули можно иерархически включать друг в друга, перегружать что-то и т.п. Это коротко, более подробно можно загуглить.
Вобщем, за уши можно притянуть что угодно и куда угодно. Но зачем?
Иное ООП и в смолтолке или Objective-C.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.