0Pricing
C# Academy · บทเรียน

ตัวสร้างและสมาชิก static

สร้างอ็อบเจกต์ด้วยตัวสร้าง (รวมโอเวอร์โหลดและการเรียกต่อกัน) และใช้ฟิลด์/เมธอด static เพื่อเก็บข้อมูลที่อินสแตนซ์ทั้งหมดใช้ร่วมกัน

ตัวสร้างและสมาชิก static เป็นบทเรียน C# Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 3 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน C# Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส C# Academy มีบทเรียนทั้งหมด 3 บทเรียน

ภาพรวมตัวสร้างและสแตติก

เป้าหมาย: สร้างออบเจ็กต์อย่างปลอดภัยและใช้ข้อมูลร่วมกันระหว่างอินสแตนซ์

  • ตัวสร้างกำหนดสถานะที่จำเป็น
  • โอเวอร์โหลดและการเชื่อมโยงด้วย this(...)
  • ฟิลด์/เมธอดแบบ สแตติกที่ออบเจ็กต์ทั้งหมดใช้ร่วมกัน

ตัวสร้างพื้นฐาน

ตัวสร้างจะทำงานเมื่อคุณเรียกใช้ new และเริ่มต้นค่าให้ออบเจ็กต์

using System;

// Constructor sets required data on creation
public class User
{
  public string Name { get; private set; }
  public int Age { get; private set; }

  public User(string name, int age)
  {
    Name = name;
    Age = age;
  }
}

public class Program
{
  public static void Main(string[] args)
  {
    User u = new User("Ada", 28);
    Console.WriteLine(u.Name + " (" + u.Age + ")");
  }
}

โอเวอร์โหลดและการเชื่อมโยง

ใช้ โอเวอร์โหลดตัวสร้างเพื่อความสะดวก และใช้ this(...) เพื่อใช้ตรรกะเดิมซ้ำ

using System;

// Overloads let you offer defaults; chain with this(...)
public class Point2D
{
  public int X { get; private set; }
  public int Y { get; private set; }

  public Point2D(int x, int y)
  {
    X = x; Y = y;
  }

  public Point2D(int xy) : this(xy, xy) { } // calls the main constructor
}

public class Program
{
  public static void Main(string[] args)
  {
    Point2D p1 = new Point2D(3, 4);
    Point2D p2 = new Point2D(5); // becomes (5,5)
    Console.WriteLine("p1: " + p1.X + "," + p1.Y);
    Console.WriteLine("p2: " + p2.X + "," + p2.Y);
  }
}

สมาชิกแบบสแตติก

สมาชิกแบบ สแตติกจะใช้ร่วมกันโดยทุกอินสแตนซ์ เรียกใช้เมธอดแบบสแตติกผ่านชื่อชนิดข้อมูล

using System;

// Static members live on the type (one copy shared)
public class Counter
{
  private static int _created = 0;   // shared count
  public int Id { get; private set; }

  public Counter()
  {
    _created = _created + 1;
    Id = _created;
  }

  public static int CreatedCount()
  {
    return _created;
  }
}

public class Program
{
  public static void Main(string[] args)
  {
    Counter a = new Counter();
    Counter b = new Counter();
    Console.WriteLine("a.Id=" + a.Id + ", b.Id=" + b.Id);
    Console.WriteLine("Total created = " + Counter.CreatedCount());
  }
}

ตัวสร้างแบบสแตติกและค่าคงที่

ตัวสร้างแบบสแตติกจะทำงานหนึ่งครั้งต่อชนิดข้อมูล ใช้ const สำหรับค่าคงที่ขณะคอมไพล์ และใช้ static readonly สำหรับค่าที่กำหนดขณะรันไทม์

using System;

public class AppConfig
{
  public const string AppName = "Demo";      // compile-time constant
  public static readonly DateTime StartedAt; // runtime-initialized once

  // Static constructor: runs once before first use of the type
  static AppConfig()
  {
    StartedAt = DateTime.UtcNow;
  }

  public static string Info()
  {
    return AppName + " started at " + StartedAt.ToString("u");
  }
}

public class Program
{
  public static void Main(string[] args)
  {
    Console.WriteLine(AppConfig.Info());
    Console.WriteLine(AppConfig.Info()); // static ctor ran only once
  }
}

เคล็ดลับ

เคล็ดลับ:

  • ทำให้ตัวสร้างมีขนาดเล็ก และตรวจสอบอินพุตตั้งแต่เนิ่น ๆ
  • ใช้ โอเวอร์โหลดสำหรับค่าเริ่มต้นที่ใช้บ่อย แล้วเชื่อมโยงไปยังตัวสร้างหลักเพียงตัวเดียว
  • ใช้ สแตติกเมื่อข้อมูลเป็นของชนิดข้อมูลนั้นอย่างแท้จริง เช่น ตัวนับและตัวช่วย

แนวคิดสมาชิกแบบสแตติก

ตรวจสอบความเข้าใจอย่างรวดเร็ว: ข้อความใดเกี่ยวกับสมาชิกแบบสแตติกถูกต้อง

ทบทวน

ทบทวน: ใช้ตัวสร้างเพื่อกำหนดสถานะที่จำเป็น ใช้โอเวอร์โหลดและการเชื่อมโยงเพื่อความสะดวก และเพิ่มสมาชิกแบบ สแตติกสำหรับข้อมูลหรือตัวช่วยที่ออบเจ็กต์ทั้งหมดใช้ร่วมกัน

คำถามที่พบบ่อย

บทเรียน “ตัวสร้างและสมาชิก static” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “ตัวสร้างและสมาชิก static” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส C# Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส C# Academy มีบทเรียนทั้งหมด 3 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “ตัวสร้างและสมาชิก static”

สร้างอ็อบเจกต์ด้วยตัวสร้าง (รวมโอเวอร์โหลดและการเรียกต่อกัน) และใช้ฟิลด์/เมธอด static เพื่อเก็บข้อมูลที่อินสแตนซ์ทั้งหมดใช้ร่วมกัน คุณปฏิบัติ C# Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน C# Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน C# Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 3 บทเรียน

บทเรียน “ตัวสร้างและสมาชิก static” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน C# Academy นี้ได้ไหม

ได้ บทเรียน C# Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. ฟิลด์ คุณสมบัติอัตโนมัติ และตัวเริ่มต้นอ็อบเจกต์
  2. ตัวสร้างและสมาชิก static
  3. การห่อหุ้มและเงื่อนไขคงที่
← กลับไปที่ C# Academy