استخدمت مبدأ التغليف (Encapsulation) من خلال الحقول الخاصة (Private Fields) مع الدوال المُحددة (Setters/Getters) في فئة المنتج (Product).
طبقت مبدأ الوراثة (Inheritance) من خلال فئة أساسية المستخدم (User) مع فئتين فرعيتين: العميل (Customer) و المسؤول (Admin).
عرضت مبدأ تعدد الأشكال (Polymorphism) عبر إعادة تعريف الدوال (Method Overriding) و تعدد الدوال (Method Overloading).
استخدمت مبدأ التجريد (Abstraction) من خلال واجهة الدفع (Payment Interface) مع تطبيقين مختلفين: الدفع بالبطاقة الائتمانية و الدفع عبر باي بال