ما هو الموجهة نحو الكائن؟
كائن الكائن ، oriendted ... موجه ، البرمجة البرمجة
يعني الموجهة نحو الكائن استخدام كائنات للبرمجة ، مختصرة باسم OOP.
مقارنة بين SP و OOP
ثلاثة مبادئ رئيسية للتغليف الموجهة للكائنات والميراث تعدد الأشكال
هدف
الكائنات هي الجزء الأساسي من البرمجة الموجهة للكائنات ، فهي كيانات محددة فعلية مع حالات وسلوكيات محددة بوضوح ؛
الكائنات هي في الواقع مغلفات "البيانات" و "وظائف" ، حيث:
تمثل البيانات حالتها الخاصة ، والمعروفة أيضًا باسم "السمات" أو "بيانات الأعضاء" ؛
تمثل الوظائف وظائفها الخاصة ، والمعروفة أيضًا باسم "الطرق" أو "وظائف الأعضاء".
عطوف
من أجل فهم العالم بشكل أفضل ، يقسم الناس الأشياء (الأشياء) في الحياة الحقيقية إلى فئات ؛
الأمور في نفس الفئة لها دائمًا بعض القواسم المشتركة ؛
تحدد الفصول الكيانات ذات الخصائص والسلوكيات المشتركة ؛
الفئة هي مجموعة من مجموعة من الكائنات ذات نفس الخصائص والسلوكيات.
ملكية
يتم تمثيل خصائص الأشياء بالمتغيرات في الفصل ؛
كل خاصية من كل كائن لها قيمتها المحددة ؛
تتم مشاركة اسم السمة من قبل جميع كائنات الفصل ؛
تسمى الميزات المملوكة للكائنات أو الكيانات سمات عند تمثيلها في الفصل
طريقة
يتم تمثيل السلوكيات وإجراءات الأشياء من خلال وظائف في الفصل ؛
كل كائن لديه نفس الإجراءات والسلوكيات ؛
يتم تمثيل الإجراءات التي يقوم بها كائن كطرق في الفصل.
الفرق بين الفصل والكائن
الفصول الدراسية هي "قوالب" أو "نماذج أولية" المستخدمة لوصف الكيانات ؛
الكائنات هي كيانات فعلية ، وكل كائن هو مثيل ملموس للفئة ؛
تُستخدم الفئات لتحديد جميع خصائص وطرق الكائن ، وجميع الكائنات من نفس الفئة لها نفس الخصائص والعمليات ؛
يمكن فهم الفصول الدراسية على أنها قوالب تنتج منتجات ، والكائن منتجات تم إنتاجها بناءً على هذا القالب.
الطبقات والهياكل
طَرد
قم بتعبئة بعض الأشياء معًا وقدمها في شكل كامل جديد ؛
تسمى طريقة التعامل مع السمات المخفية أو الأساليب أو تفاصيل التنفيذ.
في الواقع ، يقوم التغليف بتعريض أو إخفاء معلومات معينة بشكل انتقائي ، والتي تحل مشكلات الأمان للبيانات.
ورث
الميراث هو ميزة لإعادة استخدام الفصول الحالية لإنشاء فصول جديدة ؛
بعبارات Layman ، هي عملية إنشاء فئة جديدة (فئة فرعية أو فئة مشتقة) من فئة موجودة (أي فئة أولية أو فئة أساسية) ؛
في الحياة الواقعية ، يمكن أن يحقق الميراث الغرض من إعادة استخدام الممتلكات ، بينما في جافا ، يمكن أن يجعل الميراث إعادة استخدام الكود.
متعدد الأشكال
يشير تعدد الأشكال إلى التطبيقات المختلفة لنفس الوظيفة في فئات مختلفة ؛
ميزة تعدد الأشكال هي أنها تجعل الفصول أكثر مرونة وأسهل للتوسع.
هناك أيضًا "مجردة" يجب أن أتحدث عنها هنا
خلاصة
عملية تصنيف نفس الكائنات أو المماثلة في نفس الفئة هي التجريد ، لذلك التجريد هو وسيلة لتحليل المشكلات ؛
المبادئ الأساسية للتجريد:
يهتم فقط بالقضايا الرئيسية ، وليس القضايا الثانوية ؛
فقط يهتم بالتناقض الرئيسي ، وليس التناقض الثانوي ؛
فقط أهتم بنفس الأشياء ، وليس الأشياء المختلفة ؛
فقط أهتم بماهية المشكلة وما الذي يمكن إنجازه ، ولكن ليس كيفية تحقيقها.
العملية التجريدية هي في الواقع الفكرة الأساسية للبرمجة الموجهة للكائنات.
تحديد الفصول الدراسية في جافا
إنشاء كائن في جافا
بناء الجملة لإنشاء كائن
على غرار المصفوفات ، تشير الكائنات أيضًا إلى أنواع البيانات ، ويمكنها فقط تخصيص الذاكرة من الكومة باستخدام المشغل الجديد ؛
بناء الجملة العام لإنشاء كائنات:
اسم الفئة اسم مرجع = اسم فئة جديد () ؛
باستخدام الفئات المحددة بالفعل ، تسمى عملية إنشاء كائنات في تلك الفئة "مثيل".
مشغل عضو "."
فقط عن طريق إنشاء كائن الفصل أولاً ، يمكن الوصول إلى الأعضاء (الخصائص والأساليب) في الفصل ؛
استخدام مشغلي الأعضاء (.) للوصول إلى خصائص الأعضاء أو أساليب الأعضاء ؛
بناء الجملة العام هو:
اسم الكائن. اسم العضو مثل:
std.age = 18 ؛ // تعيين قيمة لسمة العضو std.dins () ؛ // استدعاء طريقة العضو
أذونات الوصول: عامة وخاصة
يمكن الوصول إلى أعضاء الهياكل في لغة C من أي مكان ، مما سيترك مخاطر خفية كبيرة لأمن البيانات ؛
من أجل تجنب فساد البيانات الناجم عن الوصول مباشرة إلى أعضاء الفصل من خارج الفصل ، تحدد Java قيودًا على الوصول إلى أعضاء الفصل ؛
الكلمات الرئيسية العامة والخاصة هي معدلات الوصول للإشارة إلى ما إذا كان يمكن الوصول إلى عضو من خارج الفصل ؛
يمكن الوصول إلى أفراد التعديلات العامة في أي مكان دون أي قيود ؛
لا يمكن الوصول إلى الأعضاء المعدلة عن طريق الخاص إلا من قبل أعضاء آخرين في هذه الفئة ، ولا يمكن الوصول إليها من خارج الفصل.
غير قادر على الوصول إلى أعضاء من القطاع الخاص من خارج الفصل ؛
كما يتم إخفاء الأعضاء الخاصين في الفصول الأخرى عن الفصل الحالي.
مثال على إذن الوصول
طالب الفصل {اسم السلسلة الخاصة ؛ // الاسم ، خاص ، خاص ، خاص ، خاص ، خاص ، خاص ، خاص ، خاص ، خاص ، خاص ، خاص ، الوصول مباشرة من خارج الفصل ؛ // الوزن ، خاص ، وصول مباشرة من خارج الفئة // طريقة الأكل ، الجمهور ، الجمهور ، الجمهور ، الجمهور ، الجمهور ، الجمهور ، الجمهور ، الجمهور ، الجمهور ، الجمهور ، الجمهور ، الجمهور ، الجمهور ، الجمهور ، الجمهور ، عامة ، عامة ، عامة ، عامة ، عامة ، عامة ، عامة ، عامة ، عامة ، عامة ، عامة ، عامة ، عام ، عام ، عام ، عام ، عام ، عام ، عام ، عام ، عام ، عام ، عام ، عام ، عام ، عام ، عام ، عام ، عام ، عام ، عام ، عام ، عامة ، public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, public, //The walk الطريقة هي عضو داخلي في الفصل ، ويمكنك الوصول مباشرة إلى الأعضاء الخاصين في هذه الفئة}} اختبار الفئة العامة {public static void main (string [] args) {student std = new student () ؛ // instantiate std.age std.age std.age = 18 ؛ // حاول الوصول إلى أعضاء من القطاع الخاص من خارج الفصل ، وسيتم الإبلاغ عن خطأ std.dining () ؛ // قبول الوصول إلى الأعضاء العامين}}
أذونات الوصول (تابع)
قد تتسبب إضافة معدلات الوصول في بعض الأحيان في إزعاج تشغيل البيانات ، ولكن يمكن أن تضمن أمان البيانات إلى حد كبير ؛
بشكل عام ، نعلن أن سمات الأعضاء هي أساليب خاصة وأعضاء عامة ، لكن القيام بذلك ليس مطلقًا ؛
في بعض الأحيان ، قد تحتاج بعض أعضاء البيانات الخاصة إلى تشغيلها خارج الفصل ، بحيث يمكن إضافة طريقة عامة ، ويمكن استخدام هذه الطريقة لتشغيل البيانات الخاصة لتجنب فساد البيانات الناجم عن سوء الفئة خارج الفصل ؛
نظرًا لأنه يجب استدعاء الطريقة الرئيسية بواسطة جهاز افتراضي خارج الفصل ، يجب الإعلان عن الطريقة الرئيسية العامة.
على سبيل المثال: قم بتعديل فصل الطالب
طالب الفصل {// تحديد اسم سلسلة الطالب الخاصة ؛ // الاسم ، العصر الخاص الخاص ؛ // العمر ، وزن العائم الخاص ؛ // Weight ، public void setName (اسم السلسلة) {// طريقة تعيين القيم للأسماء ، public this.name = name ؛ } public void setage (int a) {// method لتعيين القيم للعمر ، العصر العام = a ؛ } public void setweight (float w) {// method لتعيين القيم للوزن ، الوزن العام = w ؛ } display void public () {// طريقة طباعة جميع المعلومات مملوكة للجمهور system.out.println ("الاسم:" + name + "، العمر:" + Age + "، الوزن:" + الوزن) ؛ } public void dining () {...} // طريقة تناول الطعام ، والجمهور ، والرمز الفراغ العام قليلاً () {...} // طريقة المشي ، والجمهور ، والرمز قليلاً} اختبار الفئة العامة {public static void main (string [] args) {student std = new student () ؛ // instantiate كائن فئة الطالب std.setName ("Zhang San") ؛ // تعيين اسم std.setage (18) ؛ // تعيين std.setweight (55) ؛ // تعيين STD.DINING () للوزن ؛ // استدعاء طريقة الأكل std.display () ؛ // اطبع المعلومات}} تهيئة الكائن
في المثال أعلاه ، يمكنك فقط تعيين قيم لأعضاء البيانات واحدًا تلو الآخر. إذا كنت ترغب في تهيئة سمات الأعضاء أثناء إنشاء إنشاء الكائن ، فأنت تستخدم طريقة البناء ؛
المُنشئ هو طريقة خاصة للأعضاء ، والتي لها نفس اسم الفئة ويتم تسميتها تلقائيًا بواسطة الجهاز الظاهري عندما يتم إنشاء مثيل للكائن ؛
يرجى ملاحظة: لا يحتوي المنشئ على نوع قيمة الإرجاع ولا يمكن أن يكون له قيمة إرجاع.
مثال على طريقة البناء:
/ *تحديد فئة Constructordemo واختبار طريقة المنشئ */ Class Constructordemo {/ *Constructor ، فإن اسم الطريقة هو بالضبط نفس اسم الفئة ، ليست هناك حاجة لتحديد نوع قيمة الإرجاع ، ولا يمكن أن يكون هناك قيمة إرجاع */ public Constructordemo () {system.out.println ("هذا هو المركز") ؛ }} /*فئة الاختبار ، المستخدمة لاستيعاب الطريقة الرئيسية ، تعلن بشكل عام الفئة التي تحتوي على الطريقة الرئيسية كاختبار الطبقة العامة* / الفئة العامة { /*الطريقة الرئيسية ، إدخال البرنامج* / public static void main (string [] args) { /* }} // سوف يخرج "هذه هي طريقة المنشئ" طريقة البناء
ويرجع ذلك بالتحديد إلى أن طريقة المنشئ يتم استدعاؤها تلقائيًا أثناء إنشاء الكائن ، وبالتالي يتم استخدام طريقة المنشئ بشكل عام لتخصيص الموارد لأعضاء البيانات أو تهيئة أعضاء البيانات ؛
الشكل العام لطريقة البناء:
اسم فئة إذن الوصول (قائمة المعلمات الرسمية) {
طريقة الجسم
}
نظرًا لأن المُنشئ يسمى الجهاز الظاهري ، يجب أن يتم تعريف المُنشئ عمومًا على أنه عام.
على سبيل المثال: إضافة مُنشئ إلى فصل الطالب
طالب الفصل {// تحديد اسم سلسلة الطالب الخاصة ؛ // الاسم ، العصر الخاص الخاص ؛ // العمر ، وزن العائم الخاص ؛ . العمر = أ ؛ الوزن = ث ؛ } public void setName (String n) {...} // تعيين القيم إلى الاسم ، الجمهور ، الكود ، public public public setage (int a) {...} // تعيين قيم للعمر ، الجمهور ، الكود الفراغ العام قليلاً (float w) {... {...} // طرق لتناول الطعام ، والجمهور ، والرمز البراغي العام قليلاً () {...} // طرق للمشي ، والجمهور ، والرمز الفراغ العام قليلاً () {...} // طرق المشي ، والجمهور ، والرمز ، اختبار الطبقة العامة قليلاً {new static void main (string) {// استخدم طريقة البناء لتحديد القيمة الأولية لأعضاء البيانات std.display () ؛ // اطبع المعلومات}}
طريقة بناء (تابع)
يجب أن يقوم كل كائن بتنفيذ مُنشئ عند إنشاءه ، ولا يمكن تنفيذه إلا مرة واحدة ؛
في حالة فشل استدعاء طريقة المنشئ ، لا يمكن إنشاء الكائن ؛
لا يمكن استدعاء المنشئ بشكل صريح مباشرة ؛
بدون تحديد مُنشئ ، ستقوم الفئة تلقائيًا بإنشاء مُنشئ افتراضي بدون معلمات ، وهو ما لا يفعل شيئًا ؛
بمجرد تحديد المنشئ بشكل صريح ، يختفي المُنشئ الافتراضي تلقائيًا. لذلك ، يتم تعريف طريقتين للبناء بشكل عام: لا توجد معلمات ولا توجد معلمات.
لخص