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

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