ट्रैक
/
C#
C#
/
अभ्यास
/
रिमोट कंट्रोल की सफाई
रिमोट कंट्रोल की सफाई

रिमोट कंट्रोल की सफाई

सीखने का अभ्यास

परिचय

नेस्टेड टाइप

C# टाइप को किसी क्लास या स्ट्रक्ट के स्कोप के अंदर परिभाषित किया जा सकता है। बाहरी टाइप एक तरह का नेमस्पेस प्रदान करता है। टाइप तक पहुँच बाहरी टाइप के माध्यम से डॉट सिंटैक्स के साथ होती है।

class Outer
{
    public interface IInner {}
    public enum EInner {}
    public class CInner {}
    public struct SInner {}
}

var outer = new Outer();
var inner = new Outer.CInner();

आप अंदरूनी टाइप के लिए एक्सेस लेवल सेट कर सकते हैं।

बाहरी टाइप के प्राइवेट मेंबर अंदरूनी टाइप के मेंबर के लिए स्कोप में होते हैं, लेकिन इसका उल्टा नहीं।

निर्देश

कुछ "अन्य" डेवलपर रिमोट कंट्रोल कार प्रोजेक्ट remote-control-competition पर काम कर रहे थे। कोड साफ़ करने के लिए आपको बुलाया गया है।

1. कार खुद और टेलीमेट्री सिस्टम के बीच ज़िम्मेदारियाँ अलग कीजिए

RemoteControlCar क्लास को रीफैक्टर कीजिए और टेलीमेट्री के मेथड तथा प्रॉपर्टी अलग कर दीजिए, जिन तक Telemetry प्रॉपर्टी के ज़रिए पहुँचा जाता है।

var car = new RemoteControlCar();
car.Telemetry.Calibrate();
car.Telemetry.SelfTest();
car.Telemetry.ShowSponsor("Walker Industries Inc.");
car.CurrentSponsor
// => "Walker Industries Inc."
car.Telemetry.SetSpeed(100, "cps");
car.GetSpeed()
// => "100 centimeters per second"

2. दूसरे कोड को Telemetry टाइप पर ज़्यादा निर्भरता लेने से रोकिए

यह सुनिश्चित कीजिए कि Telemetry इंस्टेंस कार के स्कोप के बाहर नहीं बनाया जा सके।

3. दूसरे कोड को Speed struct पर निर्भरता लेने से रोकिए

यह सुनिश्चित कीजिए कि Speed struct का इस्तेमाल RemoteControlCar क्लास के स्कोप के बाहर नहीं किया जा सके।

4. दूसरे कोड को SpeedUnits enum पर निर्भरता लेने से रोकिए

यह सुनिश्चित कीजिए कि SpeedUnits enum का इस्तेमाल RemoteControlCar क्लास के स्कोप के बाहर नहीं किया जा सके।

GitHub के ज़रिए संपादित करें यह लिंक एक नई विंडो या टैब में खुलता है
C# Exercism

रिमोट कंट्रोल की सफाई शुरू करने के लिए तैयार हैं?

Exercism पर साइन अप कीजिए और C# को 62 कॉन्सेप्ट178 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।