Архив | Заявка в команду | Календарь | Справка | Гарант-сервис | Руководство форума | Правила форума | Обратная связь/контакты |
|
Форум по программированию Курсы по программированию и разработке, видео-лекции, тесты, упражнения и многое другое. |
|
Опции темы | Опции просмотра |
01.05.2022, 19:31 | #11 | |
«Герой форума WM-Forum»
|
Цитата:
Основные парадигмы программирования: Императивное программирование в исходном коде программы записываются инструкции (команды); инструкции должны выполняться последовательно; данные, получаемые при выполнении предыдущих инструкций, могут читаться из памяти последующими инструкциями; данные, полученные при выполнении инструкции, могут записываться в память. Пример такого подхода - программа на языке Ассемблера, например: Код:
Lda # 05 Sta $8000 Inc $8000 Tax Inx Stx $8001 [/COLOR]Декларати́вное программи́рование — парадигма программирования, в которой задаётся спецификация решения задачи, то есть описывается ожидаемый результат, а не способ его получения. Противоположностью декларативного является императивное программирование, при котором на том или ином уровне детализации требуется описание последовательности шагов для решения задачи. В качестве примеров декларативных языков обычно приводят HTML и SQL. Вытащил [Только зарегистрированные и активированные пользователи могут видеть ссылки] про это Структурное программирование Функциональное программирование Логическое программирование Объектно-ориентированное программирование Компонентно-ориентированное программирование Прототипно-ориентированное программирование Последний раз редактировалось SeaMan75; 01.05.2022 в 19:36. |
|
|
04.07.2022, 09:51 | #12 | |||
«Участник WM-Forum»
|
Основная теория ООП то , что надо знать !
|
|||
|
05.07.2022, 23:17 | #13 | |
«Герой форума WM-Forum»
|
Это же раздел для C++. В С++ интерфейсы немного иначе делаются, не так, как в Java.
На всякий случай еще вот создал тему: [Только зарегистрированные и активированные пользователи могут видеть ссылки] Чтобы там все описывать простыми языком без привязки к какому-либо языку программирования. А в целом интерфейсы удобно использовать для неких сущностей, которые имеют общие черты. И вот эти общие черты можно закинуть в интерфейс, а реализовать их уже в наследниках. В C++ немного иначе организована работа с интерфейсами. Смысл интерфейса тот же, но сделано все иначе: C++ поддерживает множественное наследование и абстрактные классы, поэтому отдельная синтаксическая конструкция для интерфейсов в этом языке не нужна. Интерфейсы определяются при помощи абстрактных классов, а реализация интерфейса производится путём наследования этих классов. Абстрактные классы - это классы, которые содержат или наследуют без переопределения хотя бы одну чистую виртуальную функцию. Абстрактный класс определяет интерфейс для переопределения производными классами. Что такое чистые виртуальные функции? Это функции, которые не имеют определения. Чтобы определить виртуальную функцию как чистую, ее объявление завершается значением "=0". Так вот, если хотя бы одна функция в классе будет без реализации (без определения), то этот класс будет абстрактным, например: Код:
class Figure { public: virtual double getSquare() = 0; virtual double getPerimeter() = 0; virtual void showFigureType() = 0; }; А дальше все точно, как и в C++: Цитата:
Без абстрактного класса пришлось бы Код:
virtual double getSquare() = 0; virtual double getPerimeter() = 0; virtual void showFigureType() = 0; Код:
#include <iostream> class Figure { public: virtual double getSquare() =0; virtual double getPerimeter() =0; virtual void showFigureType()=0; }; class Rectangle : public Figure { private: double width; double height; public: Rectangle(double w, double h) : width(w), height(h) { } double getSquare() override { return width * height; } double getPerimeter() override { return width * 2 + height * 2; } void showFigureType() { std::cout << "Прямоугольник" << std::endl; } }; class Circle : public Figure { private: double radius; public: Circle(double r) : radius(r) { } double getSquare() override { return radius * radius * 3.14; } double getPerimeter() override { return 2 * 3.14 * radius; } void showFigureType() { std::cout << "Окружность" << std::endl; } }; int main() { Rectangle rect(30, 50); Circle circle(30); std::cout << "Площадь прямоугольника: " << rect.getSquare() << std::endl; std::cout << "Площадь окружности: " << circle.getSquare() << std::endl; return 0; } А про непосредственно интерфейсы дополню немного позже. И в отдельной ветке, не в C++ Последний раз редактировалось SeaMan75; 06.07.2022 в 00:06. |
|
|
25.08.2022, 14:49 | #14 | |||
«Участник WM-Forum»
|
Добрый день
К производным типам данных относят Классы, структуры,объединения , переселения простые примеры + определения |
|||
|
28.08.2022, 14:02 | #15 | |
«Герой форума WM-Forum»
|
Паради́гма программи́рования — это совокупность идей и понятий, определяющих стиль написания компьютерных программ (подход к программированию). Ну или самым простым языком - подход к программированию.
Цитата:
Структурное программирование — парадигма программирования, в основе которой лежит представление программы в виде иерархической структуры блоков. В основу структурного программирования положены следующие достаточно простые положения:
Достоинства структурного программирования:
Модульное программирование Модульное программирование является естественным следствием проектирования сверху вниз и заключается в том, что программа разбивается на части – модули, разрабатываемые по отдельности. В программировании под модулем понимается отдельная подпрограмма, а подпрограммы часто называются процедурами или процедурами-функциями. Поэтому модульное программирование еще называется процедурным. Модуль должен обладать следующими свойствами:
Модули содержат определение доступных для обработки данных, операции обработки данных, схемы взаимосвязи с другими модулями. Каждый модуль состоит из спецификации и тела. Спецификации определяют правила использования модуля, а тело – способ реализации процесса обработки. Принципы модульного программирования программных продуктов во многом сходны с принципами нисходящего проектирования: сначала определяются состав и подчиненность функций, а затем — набор программных модулей, реализующих эти функции. |
|
|
22.03.2023, 23:37 | #16 | |||
«Новичок на WM-Forum»
«Пропавший без вести»
|
ООП особо опасный подход. Как настроить объектов, потом ток отбиваешься от них лопатой))
|
|||
|
13.05.2023, 15:53 | #17 | |||
«Новичок на WM-Forum»
«Пропавший без вести»
|
Ура, я снова здесь!!!
|
|||
|
Метки |
начинающие , программирование , с++ |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
Опции темы | |
Опции просмотра | |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Программирование шаг за шагом | SeaMan75 | Операционные системы и программы | 8 | 05.07.2022 23:12 |
Программирование онлайн для новичков | SeaMan75 | Компьютеры | 18 | 10.12.2019 10:46 |
Java. Kotlin. Программирование Android устройств | SeaMan75 | Форум по программированию | 1 | 12.07.2019 14:28 |
Бизнес идея на дому для начинающих и без вложений. Онлайн-репетиторство. | Ruta | Создание бизнеса | 4 | 13.10.2017 19:46 |