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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Получите начальный адрес массива и приведите его к типу void* при помощи оператора static_cast http://www.cyberforum.ru/cpp-beginners/thread210603.html
Дорогие программисты! Я не студент. Я изучаю Си++ ради собственного интереса, так сказать люблю все знать )), и вданный момент читаю книгу Эккеля по Cи++. Столкнулся в книге с такой задачей: Определите массив типа int. Получите начальный адрес массива и приведите его к типу void* при помощи оператора static_cast. Напишите функцию, в аргументах которой передаются void*, число (количество байтов)...
C++ Сколько слов, состоящих из неболее 4 букв Здравствуйте! Помогите плиз ! Очень срочно ! Написать программу, которая считывает текст из файла и определяет,сколько в нем слов,состоящих из не более чем четырех букв на C++. http://www.cyberforum.ru/cpp-beginners/thread210575.html
Решить систему алгебраических кравнений методом гаусса C++
3x1+1.5x2-x3+2.4x4=6 -0.5x1+x2-3.1x3-4x4=-12 2x1-0.8x2-x4=1 x1-1.3x2+3.9x3-3.7x4=3.1
C++ Роза ветров
Довольна интересная задача, но непосильная пока мне(( на борланде надо Создать файл, содержащий информацию о направление ветра на каждый день некоторого года. Информация включает дату (число, месяц) и направление ветра (северный, северо-восточный, восточный, юго-восточный, южный, юго-западный, западный или северо-западный). Составить программу построения розы ветров на весь год и на каждое...
C++ int &wordOffset http://www.cyberforum.ru/cpp-beginners/thread210515.html
int &wordOffset - я чето не пойму что это значит, как можно создать адрес?
C++ C++ Одномерные массивы и сложный поиск Добрые люди кто может помочь? с задачкой .... Вот условие: А) Создать одномерный массив Z с элементами Zk=Fi (k) ,где i - Номер варианта (у меня первий) , k = 1, 2, ..., 7. А ето функция к моему варианту 9,2cos2x - |sinx / 1,1 | её надо подставить в строчку которая в примере похожей задачи... (которая росположена ниже)z=abs(sin(2*i-1.5)+3*sin(4*i))+2.38; ну и заменить Б)... подробнее

Показать сообщение отдельно
Mr.X
Эксперт С++
 Аватар для Mr.X
3011 / 1667 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
14.12.2010, 20:31     Чем полиморфизм отличается от принципа подстановки
Цитата Сообщение от the Cat Посмотреть сообщение
Тогда не является ли подстановка реализацией полиморфизма?
Сам вопрос некорректен, так как здесь сравнивается кислое и квадратное. Согласно Википедии, полиморфизм - это возможность объектов с одинаковой спецификацией иметь различную реализацию.
А одинаковая спецификация – это реализация принципа подстановки, т.е. принцип подстановки характеризует спецификацию классов, а полиморфизм – их поведение.

Добавлено через 1 час 58 минут
Не, вообще-то в принципе подстановки тоже о поведении говорится. В Википедии написано: «Этот принцип является важнейшим критерием для оценки качества принимаемых решений при построении иерархий наследования. Сформулировать его можно в виде простого правила: тип S будет подтипом Т тогда и только тогда, когда каждому объекту oS типа S соответствует некий объект oT типа T таким образом, что для всех программ P, реализованных в терминах T, поведение P не будет меняться, если oT заменить на oS.»
Т.е. принцип подстановки выполняется, если объект предка, содержащийся в объекте потомка, ведет себя так же, как и чистый объект предка, т.е. изменение поведения наращиватся только за счет дополнительных свойств.
В общем, надо подробнее обдумать это дело.
 
Текущее время: 14:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru