يعد فهم التمييز بين الكائنات وهياكل البيانات أمرًا بالغ الأهمية عند كتابة تعليمات برمجية نظيفة.
كلاهما لهما مكانهما في تصميم البرامج ولكنهما يخدمان أغراضًا مختلفة وهما الأنسب لسيناريوهات مختلفة.
في هذه المقالة، سنتعمق في الاختلافات بين الكائنات وهياكل البيانات، ونستكشف متى يتم استخدام كل منها، باستخدام أمثلة JavaScript لتوضيح المفاهيم.
الكائنات هي أساس البرمجة الشيئية (OOP).
إنها تقوم بتغليف كل من البيانات والسلوك، مما يعني أنها لا تحتفظ بالمعلومات فحسب، بل توفر أيضًا طرقًا للتفاعل مع تلك المعلومات.
الفكرة الأساسية وراء الكائنات هي تجميع البيانات مع الوظائف التي تعمل على تلك البيانات، مما يضمن معالجة الحالة الداخلية للكائن فقط من خلال أساليبه.
مثال للكائن:
class Rectangle { constructor(width, height) { this.width = width; this.height = height; } getArea() { return this.width * this.height; } getPerimeter() { return 2 * (this.width this.height); } } const myRectangle = new Rectangle(5, 10); console.log(myRectangle.getArea()); // Output: 50 console.log(myRectangle.getPerimeter()); // Output: 30
في هذا المثال، فئة المستطيل هي كائن يقوم بتغليف بيانات العرض والارتفاع، بالإضافة إلى الأساليب getArea() و getPerimeter().
البيانات الداخلية (العرض والارتفاع) محمية ولا يمكن الوصول إليها أو تعديلها إلا من خلال هذه الطرق.
في المقابل، تعتبر هياكل البيانات عبارة عن مجموعات من البيانات دون أي سلوك مرتبط بها.
يركزون على الكشف عن البيانات بدلاً من حمايتها، مما يجعلها في متناول الوظائف الخارجية للتلاعب بها.
تتعلق هياكل البيانات بتخزين البيانات وتنظيمها بطريقة تجعل من السهل استرجاعها وتعديلها.
مثال على بنية البيانات:
const rectangle = { width: 5, height: 10 }; function getArea(rectangle) { return rectangle.width * rectangle.height; } function getPerimeter(rectangle) { return 2 * (rectangle.width rectangle.height); } console.log(getArea(rectangle)); // Output: 50 console.log(getPerimeter(rectangle)); // Output: 30
المستطيل هنا عبارة عن بنية بيانات. يعرض بياناته مباشرة، وتعمل الدالتان getArea() و getPerimeter() على هذه البيانات المكشوفة.
بخلاف الكائنات، لا يوجد تغليف، ويمكن الوصول إلى البيانات وتعديلها بحرية بواسطة أي وظيفة خارجية.
تعتبر الكائنات مثالية عندما تريد تغليف السلوك مع البيانات.
يسمح لك هذا التغليف بالتحكم في كيفية الوصول إلى البيانات وتعديلها، مما يوفر طبقة من الحماية.
الكائنات أيضًا مناسبة تمامًا للمواقف التي تحتاج فيها أنواع مختلفة من الكائنات إلى التفاعل مع بعضها البعض من خلال واجهات محددة جيدًا.
تكون هياكل البيانات مفيدة عندما تحتاج إلى تخزين البيانات وتنظيمها ببساطة دون إرفاق السلوك.
فهي تسمح بالوصول السهل والمباشر إلى البيانات، وهو ما يمكن أن يكون مفيدًا في السيناريوهات التي يكون فيها الأداء والبساطة أمرًا أساسيًا.
يعد فهم التمييز بين الكائنات وهياكل البيانات أمرًا ضروريًا لكتابة تعليمات برمجية نظيفة وقابلة للصيانة.
من خلال اختيار النهج الصحيح بناءً على احتياجات التطبيق الخاص بك، يمكنك إنشاء أنظمة فعالة وسهلة الفهم.
برمجة سعيدة!
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3