Публикации по теме 'oop'


Полиморфизм в C#: понимание на примерах
Полиморфизм — это фундаментальная концепция объектно-ориентированного программирования, позволяющая рассматривать объекты разных типов как объекты общего базового типа. Он позволяет единому интерфейсу представлять несколько конкретных реализаций, обеспечивая гибкость и расширяемость при разработке кода. В этой статье мы рассмотрим концепцию полиморфизма в C# на различных примерах, чтобы лучше понять ее практическое применение. 1. Полиморфизм с наследованием: Полиморфизм обычно..

Построение масштабируемых систем по принципу открытости-закрытости
Принцип Open-Closed (OCP) — один из пяти принципов SOLID, набора принципов написания поддерживаемого и масштабируемого программного обеспечения. OCP утверждает, что программный модуль или класс должны быть открыты для расширения, но закрыты для модификации. Это означает, что модуль или класс должны быть спроектированы таким образом, чтобы их можно было расширять для добавления новых функций, но его существующий код не должен изменяться. На практике этот принцип часто реализуется с..

Концепции ООП в Java с примерами кода для начинающих #oops #oop #java
Сегодня мы обсудим Концепции ООП в Java с примерами кода для начинающих. Объектно-ориентированное программирование (ООП) — это парадигма программирования, в которой объекты используются в качестве фундаментальных строительных блоков разработки программного обеспечения. ООП основано на нескольких основных концепциях, которые позволяют организовать и структурировать код таким образом, чтобы моделировать объекты реального мира и их взаимодействия.

Объектно-ориентированное программирование в GO
Один из первых вопросов, который приходит на ум программистам, рассматривающим возможность перехода с объектно-ориентированных языков программирования, таких как Java и C#, на Golang, заключается в том, могут ли они применить те же принципы объектно-ориентированного программирования к Go. Ответ на этот вопрос можно найти в часто задаваемых вопросах go.dev; Является ли Go объектно-ориентированным языком? Да и нет. Хотя в Go есть типы и методы и допускается объектно-ориентированный..

Класс против объекта
Вопрос на собеседовании. На прошлой неделе я имел удовольствие присутствовать на техническом собеседовании, пока не могу рассказать, как оно проходит, все еще жду письма. Проходя через подобный опыт, я, как инженер-программист, всегда хочу облегчить это другим (поскольку я был там). Все мы знаем, как тяжело найти первую работу. Очень важно поддерживать друг друга в это трудное время - поиск работы. Итак, один из вопросов, который я получил от рекрутера, был: В чем разница между..

Ограничение скорости в C#: определение и примеры
Ограничение скорости — это метод, используемый для контроля скорости входящих запросов или операций к системе или API. Это предотвращает чрезмерное или неправомерное использование, обеспечивая справедливое распределение ресурсов и поддерживая стабильность системы. В C# ограничение скорости может быть реализовано для защиты веб-API, запросов к базе данных или любых ресурсоемких операций. В этой статье мы рассмотрим концепцию ограничения скорости в C# и приведем примеры, иллюстрирующие ее..

Вопросы по теме 'oop'

Как лучше всего объединить два объекта PHP?
У нас есть два объекта PHP5, и мы хотим объединить содержимое одного со вторым. Между ними нет понятия подклассов, поэтому решения, описанные в следующем разделе, неприменимы. Как скопировать объект PHP в другой тип объекта //We have this:...
187813 просмотров
schedule 24.11.2023

Улучшение простого наследования JavaScript
Джон Резиг (известный специалист по jQuery) предлагает краткую реализацию простого наследования JavaScript . Его подход вдохновил меня на попытку улучшить ситуацию еще больше. Я переписал исходную функцию Resig Class.extend , добавив следующие...
3466 просмотров

Статический метод может получить доступ к вызывающему объекту, ошибке или функции?
Я работал над своим приложением и обнаружил странное поведение методов, которые вызываются статически, но не определяются как статические, которые расширяют тот же класс. В конце концов, эти методы могут получать доступ и изменять защищенные...
292 просмотров
schedule 02.11.2023

Как работать с отношениями "многие ко многим" с OOPHP?
Как лучше всего установить отношения «многие ко многим» в объектно-ориентированном PHP. Если у меня есть три таблицы, книги и категории, а также таблица категорий bookscategories (обрабатывает многие ко многим), должен ли я создать модель / класс...
944 просмотров
schedule 27.12.2023

Реализация шаблона декоратора
Попытка реализовать шаблон декоратора на С# из кода в книге "Шаблоны дизайна Head First" (написанной на Java). Я только начинаю работать с С# и поэтому все еще новичок в синтаксисе, поэтому я не уверен, почему я не могу заставить работать...
7660 просмотров

Почему функция автоматического преобразования типов Eiffel не пользуется большей популярностью?
Что случилось со мной во время программирования на Java: String str // want to call something(), but signature does not match something(Foo foo) // but I have this conversion function Foo fooFrom(String) // Obviously I am about to create...
443 просмотров

Взаимодействие с другими объектами в текстовой игре на Java
Я постараюсь быть максимально ясным, чтобы не было путаницы. Кроме того, я не ищу практических действий, просто несколько советов о том, как начать работу и двигаться в правильном направлении. Я относительно новичок в программировании в целом...
917 просмотров

Передача ссылки на объект в качестве интерфейса
Я передаю созданный объект конструктору другого объекта, которому нужен интерфейс, который реализует этот объект. ISomeInterface = interface ['{840D46BA-B9FB-4273-BF56-AD0BE40AA3F9}'] end; TSomeObject = class(TInterfacedObject,...
507 просмотров
schedule 29.12.2023

Как абстрагировать мой инструмент DI от уровня пользовательского интерфейса/сервиса
этот вопрос является продолжением этого вопроса, который я опубликовал в прошлые выходные. На данный момент у меня есть что-то подобное на моем сервисном уровне, который взаимодействует с пользовательским интерфейсом в приложении MVC....
103 просмотров
schedule 28.10.2023

Простой синтаксис PHP OOP, вызывающий переменные из метода класса
Я в основном дизайнер и не имею большого опыта работы с ООП в PHP, поэтому, пожалуйста, будьте добры, поскольку моя терминология может быть не совсем точной. Это синтаксис PHP/OOP, с которым мне больше всего нужна помощь, и я несколько раз искал...
368 просмотров
schedule 18.12.2023

PHP: генерация уникального идентификатора с неинстантированным классом
Допустим, я хочу иметь набор объектов, каждый из которых должен иметь свой уникальный идентификатор. Ничего особенного не требуется, просто буква, обозначающая тип объекта, и число, обозначающее, сколько таких объектов было создано. Так, например,...
739 просмотров
schedule 17.01.2024

С++ как различать базовые классы в производном классе?
Я понимаю, что это не лучшее название, но я не уверен, как объяснить эту проблему, с которой я столкнулся, без примеров. У меня есть базовый класс (называемый vector3) class vector3 { protected: double x,y,z; public: vector3():...
656 просмотров
schedule 22.12.2023

Доступ к переменной вне класса
У меня есть переменная в файле main.cpp , например: SDL_Renderer* gRenderer = NULL; и у меня есть класс, который находится в отдельных файлах (файл .h и файл .cpp ). Внутри файла .cpp я хочу получить доступ к gRenderer следующим...
112 просмотров
schedule 07.12.2023

Разве низкая связь и высокая когезия не зависят друг от друга?
Я должен написать две версии одного и того же кода. Один с низким сцеплением и высоким сцеплением, а другой все еще с низким сцеплением, но на этот раз с низким сцеплением. Не очень понимаю, в чем разница? Как я могу иметь низкую связь и...
1409 просмотров
schedule 15.11.2023

C++ композиция с абстрактным классом
Допустим, у меня есть абстрактный класс, который дорого создавать и копировать: class AbstractBase { public: AbstractBase() { for (int i = 0; i < 50000000; ++i) { values.push_back(i); } } virtual void...
678 просмотров
schedule 11.11.2023

Как создать и использовать массив расширений типов в Fortran?
У меня есть абстрактный базовый класс. Я делаю два расширения базового класса. Я хочу хранить все объекты, созданные из любого из расширенных классов, в одном массиве. Я считаю, что могу сделать это, создав массив указателей, указывающих на базовый...
57 просмотров
schedule 04.01.2024

объектно-ориентированные функции с компилятором Solaris/Oracle Fortran
Я пытался скомпилировать код OO fortran с помощью компилятора fortran пакета Oracle Solaris Studio 12.4 (последнего, насколько мне известно). Но компилятор падает. Вот упрощенная версия моей проблемы. Я определяю два простых типа с одной...
119 просмотров
schedule 16.11.2023

keypressevent и его перегрузка
У меня есть следующий класс, который обрабатывает нажатие клавиши escape. class KeyPress : public QWidget { Q_OBJECT public: KeyPress(QWidget * parent=0); protected: void...
261 просмотров
schedule 14.01.2024

Доступ к членам внешнего класса в TypeScript
Начиная с TypeScript 1.6, мы можем легко создавать внутренние классы с помощью выражений класса . В других ориентированных на ООП языках, таких как Java, внутренние классы могут обращаться к членам внешнего класса, class-private-members">даже...
7351 просмотров
schedule 08.11.2023

Альтернатива использованию instanceof в этом случае?
поэтому в данном сценарии я не совсем уверен, как бы я реализовал это более ООП. Учитывая следующий контекст: В моей игре есть суперкласс Entity Существа (движущиеся объекты) и StaticEntities (деревья/камни/и т.д.) расширяют Entity У меня...
206 просмотров
schedule 03.11.2023