Четыре основных принципа объектно-ориентированного программирования следующие.

1. Абстракция. Моделирование требуемых атрибутов и взаимодействий сущностей в виде классов для определения абстрактного представления системы.
2. Инкапсуляция. Скрытие внутреннего состояния и функций объекта и предоставление доступа только через открытый набор функций.
3. Наследование. Возможность создания новых абстракций на основе существующих.
4. Полиморфизм. Возможность реализации наследуемых свойств или методов отличающимися способами в рамках множества абстракций.
หลักการพื้นฐานสี่ประการของการเขียนโปรแกรมเชิงวัตถุมีดังนี้ 1. สิ่งที่เป็นนามธรรม การสร้างแบบจำลองคุณลักษณะที่จำเป็นและการโต้ตอบของเอนทิตีเป็นคลาสเพื่อกำหนดการเป็นตัวแทนเชิงนามธรรมของระบบ 2. การห่อหุ้ม ซ่อนสถานะภายในและฟังก์ชันของอ็อบเจ็กต์ และให้การเข้าถึงผ่านชุดฟังก์ชันสาธารณะเท่านั้น 3. มรดก ความสามารถในการสร้างนามธรรมใหม่จากสิ่งที่มีอยู่ 4. ความแตกต่าง ความสามารถในการใช้คุณสมบัติหรือวิธีการที่สืบทอดมาในรูปแบบต่างๆ ภายในหลายนามธรรม
spam fails_task lang_mismatch pii not_appropriate hate_speech sexual_content quality toxicity humor helpfulness creativity violence