Principles of object-oriented programming (OOP) include:

1. Encapsulation: This principle involves bundling data (attributes) and methods (functions) that operate on the data into a single unit called an object. This helps in hiding the internal state of an object and only allowing access through defined interfaces.

2. Inheritance: Inheritance allows a new class (subclass) to inherit attributes and methods from an existing class (superclass). This promotes code reusability and helps in creating a hierarchy of classes.

3. Polymorphism: Polymorphism allows objects of different classes to be treated as objects of a common superclass. This enables flexibility in designing and implementing different classes that can be used interchangeably.

4. Abstraction: Abstraction involves simplifying complex systems by modeling classes appropriate to the problem and hiding unnecessary details. It focuses on what an object does rather than how it does it.

These principles help in organizing code, promoting reusability, and making it easier to maintain and modify software systems.
Objektově orientované programování (OOP) je programovací paradigma založené na konceptu "objektů", které mohou obsahovat datová pole a kód ve formě procedur známých jako metody. Principy OOP jsou zapouzdření, abstrakce, polymorfismus a dědičnost. Zapouzdření je schopnost kombinovat metody a data do jednotného celku, abstrakce je schopnost skrýt detaily implementace a zobrazit pouze základní funkce, polymorfismus je použití jednoho rozhraní pro více datových typů a dědičnost je schopnost jedné třídy rozšířit funkčnost jiné.