‫مرحبًا بعودتك.
‫في هذا الفيديو ، سنواصل المضي قدمًا في الخصائص والمحددات والمكتسبات.
‫بدأنا بالفيديو الأخير حيث نظرنا إلى المحددات والمكتسبات والآن سنستخدم
‫نفس الكود وسنقوم بتوسيعه قليلاً.
‫لذلك رأينا أنه يمكننا استخدام المحددات من أجل تحديد قيمة متغير عضو ويمكننا تنفيذ منطقنا
‫الخاص بكيفية تعيينه.
‫لذلك يمكننا القول ، حسنًا ، إذا كنت تريد تعيين القيمة ، فيجب أن تتبع القواعد الخاصة بي حتى نتمكن
‫من تحديد قواعدنا الخاصة ، والتي يجب أن تكون كذلك.
‫يتبع.
‫ومن ثم لدينا حواسيب يمكننا تعديلها أيضًا.
‫لذا يمكننا القول ، حسنًا ، إذا كنت تريد الحصول على المتغير الذي سأقدمه لك في
‫هذه الحالة ، نتيجة مضاعفة الطول والارتفاع والعرض حتى تتمكن من تعديلها حسب رغبتك.
‫الآن دعونا نلقي نظرة على الخصائص وكيف يرتبط كل هذا ببعضه البعض.
‫لذلك دعونا ننشئ خاصية وسأقوم بإنشاء خاصية عامة تسمى الارتفاع ، وهذا الارتفاع
‫سيضبط متغير ارتفاع العضو.
‫لذلك كان عامًا من قبل.
‫الآن سأجعلها خاصة حتى لا نتمكن من الوصول إلى الارتفاع من الخارج.
‫لذلك هنا ، إذا كنت أرغب في تعديل الارتفاع ، فلن أتمكن من القيام بذلك بعد الآن.
‫الآن حصلت على هذا الخطأ.
‫حسنا؟
‫الآن دعنا نستخدم خاصية الارتفاع حتى نتمكن من الوصول إلى ارتفاعنا هناك.
‫فكيف لنا أن نفعل ذلك؟
‫حسنًا ، أولاً وقبل كل شيء ، نستخدم هذه الخاصية برأس مال H في البداية.
‫هذا بشكل عام كيف تستخدم الخصائص.
‫هذا هو اصطلاح وبرمجة سي.
‫تبدأ الخصائص بالحرف الكبير والآن يمكنني هنا إنشاء أداة التجميع الخاصة بي ويمكنني إرجاع
‫الارتفاع ويمكنني إنشاء جهاز الإعداد الخاص بي.
‫ويمكنني فقط تعيين الارتفاع هنا ليكون ، على سبيل المثال ، القيمة التي تم تعيينها.
‫الآن ، ما هي قيمة الكلمة الأساسية؟
‫حسنًا ، ما نفعله هنا هو في الأساس نفس الشيء الذي فعلناه من قبل ، حيث حددنا الطول ونحصل على
‫الطول.
‫لكن بوابتنا الآن ، إذا جاز التعبير ، هي ارتفاع ممتلكاتنا.
‫لذلك إذا كنت ترغب في الوصول إلى الارتفاع الذي لا يُنسى أو تغييره ، فعليك القيام بذلك من خلال ارتفاع العقار.
‫والآن ما يمكنك فعله هو ضبطه على القيمة التي تحددها على الارتفاع.
‫الآن كيف سيبدو الأمر عندما ننتقل إلى برنامجنا الآن هنا إذا حاولنا ضبط الارتفاع؟
‫من خلال الوصول إلى متغير العضو مباشرة ، لا يمكننا القيام بذلك بعد الآن.
‫ولكن إذا قمت بالوصول إلى العقار ، كما ترى ، فإن الارتفاع متاح هنا وهو رمز الأداة هذا الذي يمكننا
‫رؤيته هنا.
‫لذلك هذا هو الرمز الذي لديك بشكل عام عندما تريد الوصول إلى خاصية ويمكنك رؤية هذا يعمل.
‫إذن يمكننا ضبط الارتفاع الآن ، وإذا فعلنا ذلك ، فسيكون هذا أو هذا هنا ، أيًا كان ما وراء علامة التساوي
‫هذه أو بعد علامة التساوي هذه ، ستكون القيمة هنا ، هذه القيمة وسيتم تعيينها على أنها الارتفاع.
‫إذن هذه القيمة هي نفسها إلى حد كبير مثل الطول كما كان لدينا من قبل عندما أنشأنا هذا الطول المحدد.
‫إنه نفس المفهوم إلى حد كبير ، لكننا مجرد طريقة أقصر للقيام بذلك ، أليس كذلك؟
‫هنا يمكنك أن ترى ما إذا كنا نريد أن يكون لدينا واضع ، لدينا كل هذا الكود.
‫بالطبع ، لم نكن بحاجة إلى هذا الرمز هنا.
‫حسنا؟
‫ولكن لا يزال لدينا كل هذا الرمز والآن لدينا هذا الرمز القصير للغاية.
‫لذلك هذا هو الواضع.
‫بالطبع هنا يمكننا أيضًا تعديله.
‫الآن ، لنفترض أنه إذا كانت القيمة أقل من الصفر ، فسنضبط ارتفاعنا ليكون سالب القيمة وإلا فسيكون ارتفاعًا
‫يساوي القيمة.
‫لننتقل الآن إلى برنامجنا وسأضبط الارتفاع على سالب أربعة.
‫وبشكل مطول قال ذلك من قبل لأننا خلقنا هذا الخطأ من قبل.
‫الصحيح.
‫والآن ، لنضبط الارتفاع على سالب أربعة ، ونشغل الكود.
‫وسنرى أنه يعمل.
‫إذن ، الطول بالنسبة للارتفاع بالنسبة للعرض هو خمسة.
‫فلماذا هذا؟
‫على الرغم من أننا قمنا بتعيين القيمة على سالب أربعة؟
‫حسنًا ، قلنا أنه إذا كانت قيمة الارتفاع التي تمررها لي سالبة ، فسأضربها.
‫لذا إذا كانت القيمة أقل من صفر ، سأضربها في سالب واحد.
‫لذا سأجعلها إيجابية مرة أخرى.
‫وإذا كانت موجبة ، فقم بإدخالها أو قم بتعيين القيمة.
‫أو إذا كانت صفرًا ، فلا بأس أيضًا.
‫حسنا.
‫هذا ما يمكننا فعله بالخصائص.
‫الآن ، هذا هو تنفيذ خاصية.
‫بالطبع ، ما يمكنك فعله هو أنه يمكنك أيضًا استخدام الخاصية دون وجود متغير عضو.
‫لذا فإن متغير العضو الذي لدينا هنا يمكن أن يكون شيئًا غير مطلوب على الإطلاق.
‫لذلك يمكننا حتى تخطي ذلك.
‫لذلك لنفترض أنني لا أريد تعيين العرض كمتغير عضو ، فأنا أريد الحصول عليه كخاصية.
‫والآن سأريكم طريقة أخرى لإنشاء عقار.
‫وهذا أسرع كثيرًا.
‫لذا فأنت تستخدم P ، R ، o ، p ، ثم انقر نقرًا مزدوجًا وسيؤدي ذلك إلى إنشاء هذه الخاصية لك.
‫الآن يمكنك فقط إدخال النوع وسأقول ، حسنًا ، سيكون عددًا صحيحًا.
‫ثم تضغط على علامة التبويب مرة أخرى والآن يمكنك تسميتها.
‫لذلك سأسمي هذا عرضًا واحدًا.
‫الآن ما الذي يحدث هنا؟
‫حسنًا ، هذا رمز تم فهمه للتو بواسطة C Sharp وقد تم إنشاؤه لنا تلقائيًا باستخدام المعرف الخاص
‫بنا.
‫الصحيح.
‫تقول فقط الحصول على مجموعة فاصلة منقوطة.
‫هذا يعني فقط أنه سيكون مجرد أداة جمع افتراضية وجهاز ضبط افتراضي ، وهذا يعني فقط ، حسنًا
‫، إذا كنت تريد الوصول إلى العرض ، يمكنك فقط الوصول إليه باستخدام متغير العرض الخاص بهذه الخاصية.
‫وإذا كنت تريد ضبطه ، فيمكنك أيضًا استخدامه.
‫إذن ماذا يعني ذلك في حالتنا؟
‫حسنًا ، هذا يعني أنه يمكننا الآن الوصول إلى هذه الخاصية بمجرد تعيين قيمة.
‫وإذا أردنا كتابتها.
‫لذلك إذا أردنا الوصول إليه ، فإن المربعات التي تحتوي على مربع نقطة.
‫مع.
‫حتى هنا يمكننا الوصول إلى الممتلكات مباشرة.
‫حسنا.
‫إذن هذا هو الاختلاف هنا.
‫لذا داخليا هو نفس الشيء كما لو خلقنا.
‫ال.
‫مع.
‫دعنا نعود إلى هذا مع فلنعود إلى متغير العضو هذا مرة أخرى.
‫لذا داخليًا هو نفس الشيء كما لو أنشأت هذه النهاية العامة
‫مع وسأعلق على ذلك الآن ولديّ أداة جمع لذا أحصل على العرض.
‫أو هذه النقطة مع.
‫واضعًا حيث قلت إنهم يبدأون بقيمة.
‫حسنا.
‫هذا هو حقا.
‫هذه.
‫الكود هنا هو نفس الشيء مثل هذا.
‫وداخليًا ، هذا أيضًا ما يحدث بمجرد تجميع الشفرة.
‫لذلك يقوم المترجم بذلك تلقائيًا.
‫بالنسبة لنا ، يقول فقط ، حسنًا ، إذا كان لديك هذا السطر من التعليمات البرمجية ، فسأعامله داخليًا
‫كما لو كان هذا الرمز الذي لديك هنا ، فقط أنه أقصر كثيرًا وأنه من الأسهل كثيرًا إنشاء هذا الرمز .
‫حسنا.
‫لذا سأقوم بالتعليق على هذا فقط لأنني أحب حقًا هذا النهج القصير
‫الذي لدينا هناك ، ودعونا نعلق على هذا مثل هذا.
‫ولست بحاجة إلى متغير العضو هذا بعد الآن.
‫حسنا.
‫لأننا هنا نحتاج إلى تذكر المتغير لأنني قمت بتعيين العرض وفي هذه الحالة ، قمت بتعيين عرض متغير
‫العضو.
‫لم اضبط ال.
‫لا أستطيع ضبط العرض نفسه.
‫لذا إذا كنت هنا بدلاً من ذلك سأكتب مع.
‫وإذا قمت بذلك الآن ، فإن ما أقوم بإنشائه كـ StackOverflow.
‫لذلك أحاول باستمرار تعيين شيء ما وستكون حلقة لا نهاية لها هنا ، وهذا ليس جيدًا.
‫لهذا السبب احتجت إلى تذكر متغير لهذا المثال هنا.
‫حسنا.
‫لكن داخليًا ، سوف يتعامل مع الأمر على هذا النحو ، على هذا النحو.
‫لذا فهو يتعامل معها داخليًا مثل الكود الذي لدينا هنا.
‫فقط هذا هو أقصر بكثير بالنسبة لنا.
‫حسنا.
‫حتى الآن تحد صغير بالنسبة لك.
‫يرجى المضي قدمًا وإنشاء خاصية للحجم الذي يحيط به كما فعلنا مع العرض هنا.
‫حسنا.
‫إلى حد كبير نفس المثال الذي لدينا هنا ، فقط أنه سيضبط الحجم وليس العرض.
‫لذا من فضلك جرب ذلك.
‫إنشاء الممتلكات الخاصة بك ، اكتبها.
‫لا تقم بأسلوب قصير أو تستخدم منهجًا قصيرًا.
‫حسنا.
‫حتى يكون هذا منطقيًا ، علينا أولاً أن نجعل حجمنا خاصًا ومن ثم يمكننا إنشاء خاصية
‫لحجمنا.
‫لذلك سيتم الحصول على حجم كثافة العمليات العامة برأس مال V.
‫حجم الإرجاع ثم قم بتعيينه.
‫حجم البداية هذا يساوي.
‫قيمة.
‫إذن هذه هي الخاصية التي أنشأناها للحجم.
‫أتمنى أن تكون قادرًا على القيام بذلك.
‫بالطبع ، كان بإمكانك التخلص من هذا المجلد تمامًا وإنشاءه بنفس الطريقة التي استخدمناها
‫مع العرض.
‫إنه أسرع كثيرًا ، لكنني أردت فقط أن أوضح لكم أن كل هذا رائع جدًا.
‫الآن ،.
‫جزء مهم هنا هو أنه يمكننا التفكير في متغير الحجم أو هذه الخاصية ولماذا ، أو في أي
‫نقطة يكون من المنطقي تغييرها أو الحصول عليها؟
‫هل يعقل أن تفعل كلاهما؟
‫لأن الحجم هو شيء يتم حسابه بناءً على العرض والارتفاع والطول.
‫الآن ، هل من المنطقي ضبط مستوى الصوت مباشرة؟
‫حسنًا ، لا ، سأقول ذلك.
‫أعتقد أن ضبط مستوى الصوت ليس منطقيًا على الإطلاق ، لذا يمكننا التخلص من أداة الضبط هذه ولن نحصل
‫إلا على أداة جمع.
‫الآن ، الحجم نفسه ، لم نضبط الحجم أبدًا.
‫دائما محسوب.
‫فهل من المنطقي إعادة الحجم فقط؟
‫حسنًا ، هذا لا يحدث حقًا ، لأن ما يجب علينا فعله هنا في هذه المرحلة
‫، يجب أن نحسب أن الحجم سيكون ضربًا في الطول والارتفاع والعرض ، كما ترى.
‫لذا فهي الآن ذات مغزى أكبر بكثير.
‫لذا فإن ما نعود به مع الحجم يكون ذا مغزى أكبر.
‫إذا أراد شخص ما الحصول على الحجم ، فهذا ما يحصل عليه.
‫الآن ، بالطبع ، أنشأنا خطأً بسيطًا هنا في الأسفل أو حصلنا على بعض طرق الحجم التي لم نعد بحاجة
‫إليها.
‫وفي نفس الوقت هنا ، العرض الآن هو الخاصية التي نصل إليها.
‫لن يكون.
‫تذكر المتغير بعد الآن لأننا لم نعد نمتلكه.
‫وبالطبع ، في برنامجنا CSS ، يمكننا الآن أيضًا ضبط كل شيء.
‫الآن يمكننا الوصول إلى العرض مباشرة ويمكننا الوصول إلى خاصية المجلد مباشرة وليس متغير عضو وحدة التخزين
‫بعد الآن.
‫حسنا.
‫فلنقم الآن بالخطوة الأخيرة هنا.
‫وذلك لإضافة مُنشئ.
‫عامة جدا.
‫علبة.
‫طول INT.
‫ذكاء
‫الارتفاع والنهاية.
‫عرض.
‫الآن إذا أنشأنا مربعًا ، فأنا أريد الحصول على كل هذه القيم ، ويجب أن يكون الطول الذي
‫تم إعطاؤه لي بمجرد إنشاء المربع هو طول هذه النقطة.
‫ثم الارتفاع المعطى ، يجب أن يكون ارتفاع النقطة هذا هو الارتفاع.
‫إذن ، يجب أن يكون الارتفاع المعطى لهذا هو الارتفاع الذي لدينا هنا ، وهو متغير العضو لدينا.
‫والعرض هو الأخير وهذه الخاصية.
‫لذلك قمنا بتعيينه على العرض المعطى لنا.
‫الآن ، في هذه الحالة ، يمكنك بالطبع حذف هذه الكلمة الأساسية.
‫يمكنك فقط قول العرض ، لأنه من الواضح أيضًا أننا نتحدث عن خاصية هذه الفئة.
‫لذلك لا تحتاج إلى هذه الكلمة الرئيسية هنا.
‫الآن ، شيء مهم سأله أحدهم وأردت أن أوضح ذلك حقًا.
‫إذن ، طول النقطة هذا ، الطول المتساوي يعمل ، لكن الطول يساوي طول النقطة هذا لا معنى له.
‫لذا فإن هذا السطر هنا غير منطقي لأن الطول هو هذا الجزء هنا ، وهو في الحقيقة مجرد المعلمة وهي
‫القيمة المعطاة لنا.
‫لذلك لا نريد تعديل القيمة المعطاة لنا ، لكننا نريد تحديد قيمة ممتلكاتنا أو متغير
‫العضو لدينا ، وهذا ما نفعله هنا.
‫لذلك في هذه الحالة ، هذا ما نفعله.
‫نحدد قيمة متغير العضو لدينا.
‫حسنًا ، لنستخدم هذا المربع الآن.
‫لنقم بإنشاء صناديق الآن ، لأننا الآن لسنا بحاجة إلى القيام بكل ذلك بعد الآن.
‫لم نعد بحاجة إلى تعيين القيم مباشرة بعد الآن ، ولكن يمكننا تعيينها في إنشاء الصندوق الخاص بنا.
‫لذلك سأخصص القيم ثلاثة وأربعة وخمسة.
‫إذن ، الطول هو ثلاثة.
‫الارتفاع أو الارتفاع في الواقع يساوي أربعة في العرض يساوي خمسة.
‫والآن إذا قمنا بتشغيل هذا ، فسوف يعرض لنا العرض والحجم.
‫إذاً ها أنت ذا مع هذا.
‫خمسة حجم هو 60.
‫حسنا.
‫يبدو أن هذا العمل.
‫الآن ، ما يمكننا القيام به هو أنه يمكننا ضبط العرض من خلال الوصول إلى ممتلكاتنا.
‫لنفترض أننا قمنا بتعيين العرض على عشرة الآن وقمنا بتشغيل هذا الرمز مرة أخرى.
‫ومع الانقسام مع مرة أخرى ، يمكننا أن نرى أن القيمة الافتراضية التي تم إعطاؤها تمت طباعتها ثم القيمة الجديدة
‫التي قمنا بتعيينها.
‫لذلك قمنا بتعيين العرض على عشرة والآن هو يوضح العرض ويتم حساب العرض وفقًا لذلك.
‫إذن ، ثلاث مرات ، أربعة في عشرة يساوي واحدًا على 20.
‫إنه الحجم الجديد.
‫حسنا.
‫استدعائها.
‫إذن ما فعلناه هو أننا أنشأنا ، أولاً وقبل كل شيء ، مجموعة من المتغيرات الأعضاء.
‫لقد جعلناها خاصة حتى لا يتمكن أي شخص باستثناء هذه الفئة نفسها من الوصول إليها مباشرة.
‫لذلك لا يمكن لأي فصل آخر الوصول إليها مباشرة.
‫يمكنهم الوصول إليها فقط عبر ممتلكاتنا التي أنشأناها أو عبر المستوطنين والحاصلين لدينا.
‫إذن لدينا الطول المحدد الذي نحصل عليه.
‫لذا ، إذا أراد أي شخص الوصول إلى متغير الطول ، فعليه اتباع طريقة استخدام الطول المحدد والحصول على
‫الطول.
‫هذا نهج صحيح تمامًا وسترى ذلك.
‫ونعم ، باستخدام هذه الأساليب ، يمكنك تحديد المنطق الذي تريد اتباعه.
‫إذا أراد شخص ما ، على سبيل المثال ، تعيين متغير أو إذا أراد الحصول على متغير.
‫الآن هناك طريقة أخرى للقيام بذلك وهي استخدام خاصية مباشرة.
‫لذلك إذا كنت تستخدم عقارًا ، فأنت بحاجة إلى تسميته بحرف كبير وبعد ذلك يمكنك
‫تنفيذ دالة getter وما إلى ذلك. ولكن يمكنك أيضًا أن تقرر إما تنفيذ برنامج getter فقط أو تنفيذ أداة الإعداد فقط.
‫نحن ، بالطبع ، لا ننفذ كلاهما هنا.
‫يمكنك أيضًا ضبط ملف.
‫القيم مباشرة ، بحيث يمكنك إما تعيين متغيرات العضو.
‫لذلك هذا ما فعلناه هنا.
‫إذا جاز التعبير ، إضافة بوابة تسمى الارتفاع ، وهي ملكيتنا لارتفاعنا الذي أنشأناه هنا في الأعلى
‫، وهو متغير العضو لدينا.
‫أو ذهبنا للتو إلى المسار المباشر حيث قلنا للتو ، حسنًا ، سيكون لدينا
‫خاصية تنفيذ تلقائي بسيطة للغاية هنا ولا نحتاج إلى متغير عضو إضافي لها.
‫كان من الممكن أن نقطع الطريق بالكامل لجميع هذه المتغيرات لتكون لها خصائص فقط.
‫لذلك كان بإمكاننا جعلها بسيطة للغاية.
‫لكن مجرد وجود ثلاث خصائص مثل.
‫هذه.
‫لذا تخلص من كل ذلك واستخدم نقرًا مزدوجًا عام أو apr0p ، وسيكون هذا عندئذٍ يتم تعيين الطول
‫ثم نفس الشيء بالنسبة للارتفاع وما إلى ذلك.
‫لكني أردت فقط أن أريكم جميع الطرق المختلفة الموجودة وكل الطرق المختلفة التي
‫ستشاهدونها.
‫وفي معظم الأوقات عندما ترى شيئًا ما أو عندما تستخدم خصائص ، ستراها في أغلب الأحيان
‫مثل هذا.
‫إذن مع الخاصية الأخرى المطبقة ، ما هي أسهل وأسرع طريقة؟
‫لن تحتاج إلى استخدام جميع الأساليب المختلفة التي أظهرتها لك والتي تعتبر مهمة حقًا.
‫لن تحتاج إلى استخدام جميع الهياكل المختلفة ، ولكن في بعض الحالات ستحتاج إلى تنفيذ أداة
‫الضبط.
‫في بعض الحالات ، تحتاج إلى تنفيذ أداة تجميع معينة ، والآن أنت تعرف كيفية القيام بذلك.
‫باختصار ، إذا كان لديك أي أسئلة ، فلماذا تحتاج إلى هذا النهج؟
‫حسنًا ، يتم استخدامها فقط عندما لا يكون لديك منطق إضافي مطلوب في مقيمي الممتلكات.
‫حتى في تعريفات الممتلكات ونعم.
‫حاصلون وواضعون.