📘 C# Blog Series – Blog 8 “C# Static vs Non-Static — कब, कहाँ और क्यों इस्तेमाल करें? (Real-Life Example: GPS Utility Classes)”

📘 C# Blog Series – Blog 8

“C# Static vs Non-Static — कब, कहाँ और क्यों इस्तेमाल करें? (Real-Life Example: GPS Utility Classes)”






C# में beginners की सबसे बड़ी confusion यही होती है:

  • Static कब use करना है?

  • Non-static कब?

  • किसका फायदा क्या है?

  • Real projects में कैसे decide करें?

आज सब कुछ crystal clear हो जाएगा,
और आपके GPS Server वाले real examples भी मिलेंगे।


🟦 1. Static क्या होता है?

Static = बिना object के directly use होने वाला member

  • Memory में सिर्फ एक बार बनता है

  • Object बनाने की जरूरत नहीं

  • Common/Shared data या logic होता है

Example:

static class MathHelper { public static int Add(int a, int b) { return a + b; } }

Use:

int ans = MathHelper.Add(5, 10); // No object needed

🟢 2. Non-Static क्या होता है?

Non-static = Object बनाकर इस्तेमाल होने वाला member

हर object की अपनी copy होती है।

Example:

class Car { public string Color; public void Start() { Console.WriteLine("Car Started"); } }

Use:

Car c = new Car(); c.Start();

🟣 3. Static कब use करें?

अगर आपका काम:

✔ Common हो
✔ Utility हो
✔ Calculation हो
✔ Helper Logic हो
✔ Config / Constant हो
✔ Logging हो

तो static best है।

Real-Use Examples:

  • Math functions

  • GPS packet utils

  • Token generator

  • Random Id generator

  • Date formatter

  • Global settings


4. Non-Static कब use करें?

➤ जब हर object का data अलग-अलग हो
➤ हर instance अलग behave करे
➤ Real-world entity बनानी हो

Real Examples:

  • GPSDevice object

  • Student object

  • Billing Item

  • Player in a game

  • Order in e-commerce

हर object → अपना data


🌟 5. Real-Life Example (आपके GPS Server का Actual Use-Case!)

Static Class: PacketParser

हर device से आने वाला packet format same होता है।
इसलिए parsing logic static होना चाहिए।

Static Class:

static class PacketParser { public static double ExtractLatitude(string packet) { // parsing... return 26.85; } }

Use:

double lat = PacketParser.ExtractLatitude(packet);

यहाँ object की जरूरत नहीं → इसलिए static perfect है।


Non-Static Class: GPSDevice

हर device का data अलग है:

  • IMEI

  • Latitude

  • Battery

  • Status

इसलिए ये object-based होना जरूरी है।

class GPSDevice { public string IMEI { get; set; } public double Latitude { get; set; } public double Battery { get; set; } public void UpdateLocation(double lat) { Latitude = lat; } }

Use:

GPSDevice d = new GPSDevice(); d.UpdateLocation(26.85);

6. Real Example: Billing Software

Static: Tax Helper

static class TaxHelper { public static double GetGST(double amount) => amount * 0.18; }

Non-Static: Bill Object

Bill b = new Bill(); b.Total = 1200;

7. Real Example: School Management

Static:

  • CalculatePercentage()

  • GenerateRollNo()

Non-Static:

  • Each student

  • Each teacher

  • Each fee transaction


📌 Static vs Non-Static — Short Comparison

FeatureStaticNon-Static
Uses Object?❌ No✔ Yes
MemorySingle CopyMultiple Copies
Best ForUtility, Common LogicReal-world entities
ExamplePacketParser, MathGPSDevice, Student

🔚 Conclusion

Static code ➤ Shared logic
Non-static code ➤ Individual logic

Real project में दोनों का सही इस्तेमाल performance, memory और maintainability improve करता है।

आपके GPS projects में static + non-static का सही combination massive फर्क डालता है।

Post a Comment

0 Comments

Translate

Close Menu