ما هو الفصل ؟ ما هو الكائن ؟ بالنسبة لتعلم لغة C++ الموجه للكائنات، فإن فهم الفئات والكائنات هو الأساس الأساسي في تعلم اللغة بأكمله. الفهم الشائع هو أن الفئة هي في الواقع نموذج، ونوع متغير، والكائن هو المتغير المحدد المحدد بواسطة هذا النوع، تمامًا مثل int a؛ في هذه الجملة، يتوافق int مع الفئة، ويتوافق a مع الكائن. يجب أن يكون من السهل على الجميع فهم ذلك، ولكن تجدر الإشارة إلى أن int هو نوع مدمج من C++، وليس فئة حقيقية.
لذلك، باختصار: الفصل هو تجريد وتعميم كائن، والكائن هو ملموس ومثال للفئة. يرجى فهم هذه الجملة.
إذًا كيف تبدو الفصول في لغة C++؟ بكل بساطة، الفصل في لغة C++ هو في الواقع بنية تحتوي على وظائف! لأن الأعضاء في فئة C++ لا يمكن أن يحتويوا فقط على متغيرات أساسية مثل الهياكل في لغة C، بل يمكنهم أيضًا أن يحتويوا على وظائف. تسمى الأولى متغيرات الأعضاء ، وتسمى الأخيرة أساليب الأعضاء .
يتم تعريف الكلمات الأساسية باستخدام فئة الفصل ، على سبيل المثال، يحدد ما يلي فئة C++، فئة الطالب:
classStudent{public:intnum;charname[100];intscore;intprint(){cout<<num<<<<name<<<<score;return0;}};
كما ترون، النموذج مشابه جدًا لبنية لغة C. يتضمن الأعضاء متغيرات ووظائف، ومن الآن فصاعدًا، سوف نعتاد على تسميتها بالسمات والأساليب. ومن الجدير بالذكر أنه يجب على الجميع الانتباه إلى حقيقة أن هناك أيضًا شيئًا عامًا في الفصل، وهو سمة التحكم في الوصول التي تتحكم في حقوق وصول الأعضاء، بالإضافة إلى العامة ، هناك ثلاثة أنواع: خاصة ومحمية . من بينها، "خاص" يعني أن الأعضاء المعلنين من قبله لا يمكن الوصول إليهم إلا من قبل أعضاء الفصل ولا يمكن الوصول إليهم من قبل العالم الخارجي، وهو إذن أكثر خصوصية، وهو أكثر عمومية قليلاً من كونه خاصًا من خلال أعضائها داخل الفصل، يمكن أيضًا الوصول إلى فئاتها الفرعية (سنتوسع في مفهوم الفئات الفرعية بالتفصيل لاحقًا) ويمكن الوصول إلى الأعضاء المعلنين علنًا عن طريق أي كائن من فئة وهي بيانات عامة تمامًا . هنا يمكنك فهمه ببساطة، ومن ثم يمكنك تجربته أثناء تجربة الكود. تجدر الإشارة إلى أن هناك فاصلة منقوطة بعد تعريف الفصل، يرجى الحرص على عدم التخلص منها!
حسنًا، بعد فهم المظهر الأساسي للفصل، دعنا نوضح لك طريقة أخرى للكتابة، بالطريقة التي نظرنا إليها للتو، تتم كتابة وظائف الأعضاء في الفصل، فاقرأها لذلك، يدعم C++ أيضًا طريقة أخرى للكتابة، وهي أن وظائف الأعضاء تعلن فقط عن النموذج الأولي للوظيفة داخل الفئة وتحدد نص الوظيفة خارج الفئة الفصل، مثل الدليل، واضح في لمحة وهناك العديد من المواصفات.
طريقة الإعلان عن النموذج الأولي للوظيفة في الفصل هي نفس طريقة الإعلان عن النموذج الأولي للوظيفة في لغة C العامة. تتطلب طريقة تحديد الوظيفة خارج الفصل إضافة مؤهل النطاق إلى اسم الفصل الآن كمثال، الكود المحدد خارج الفصل هو كما يلي:
classStudent{public:intnum;// رقم الطالب charname[100];//name intscore;//score intprint();// أعلن عن وظيفة الطباعة داخل الفصل}; intStudent::print()// اكتمل التحديد خارج الفصل وظيفة طباعة الفئة {cout<<num<<<<name<<<<score;return0;}
يرجى ملاحظة أنه بعد الإعلان عن وظيفة الطباعة في الفصل، نقوم بتعريفها بالكامل لاحقًا في رأس الوظيفة، بين القيمة المرجعة واسم الوظيفة، يتم استخدام اسم الفئة بالإضافة إلى :: للإشارة إلى الفئة التي تنتمي إليها الوظيفة.
يرجى التعرف على الاستخدامين المذكورين أعلاه، ثم استخدم الكمبيوتر لتفهم ذلك بنفسك، وتختار وفقًا للموقف.