OOP、またはオブジェクト指向プログラミングは、「オブジェクト」概念を使用してさまざまなデータを提示し、それらと連携するプログラムを書くことのパラダイムです。オブジェクト指向システムの根底にあるいくつかの原則があります。これらの基本は次のとおりです。

1.抽象化 - プロパティと方法のオブジェクトまたはシステムの割り当ては、目標にとって重要であり、不必要なことを無視します。オブジェクトのクラスを説明することで発生します。
2.インカプセーション - オブジェクトのオブジェクトの実装を他のオブジェクトから相互作用するものからの実装を隠します。実装の内部からのみ利用可能な私有地と方法を作成することで達成されます。
3.継承は、基本的なクラスとして別のクラスをクラスに割り当てる方法であり、一般的な方法とプロパティによって何度も実装されません。
4.多型とは、さまざまな種類のオブジェクトに対する均一な一般的なアクションを記述する概念です。継承またはインターフェイスを使用して達成されます。
5.モジュール性 - システムをより小さなコンポーネント、独立モジュールに分割するという概念。OOPでは、ほとんどの場合、クラスとオブジェクトを通じて実装されます。モジュール性により、コードの読みやすさが向上し、さらにサポートが簡素化されます。

これらの原則はOOPの基礎であり、複雑なプログラムを作成するために使用されますが、それでも維持、変更、改善が容易です。
ООП, или объектно ориентированное программирование — это такая парадигма написания программ, в которой используется концепт "объект" для представления различных данных, и для работы с ними. Существует несколько принципов, лежащих в основе объектно-ориентированных систем. Вот базовые из них:

1. Абстракция — выделение в объекте или системе значимых для цели свойств и методов, и игнорирование ненужных. Происходит путём описания класса для объектов.
2. Инкапсуляция — скрытие реализации методов объекта от взаимодействующих с ним других объектов. Достигается путём создания приватных свойств и методов, доступных только изнутри реализации.
3. Наследование — способ назначить классу другой класс в качестве базового, что позволит не реализовывать многократно общие методы и свойства.
4. Полиморфизм — концепция описания единых, общих действий над разными типами объектов. Достигается с помощью наследования или интерфейсов.
5. Модульность — концепция разделения системы на более маленькие компоненты, независимые модули. В ООП чаще всего реализуется через классы и объекты. Модульность улучшает читаемость кода и упрощает дальнейшую поддержку.

Эти принципы заложены в основу ООП и используются для создания сложных программ, которые тем не менее легко поддерживать, изменять и улучшать.