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

คลาสนามธรรม

สำรวจคลาสนามธรรมและบทบาทในการสร้างโครงสร้างร่วมสำหรับคลาสที่สืบทอด

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

คลาสนามธรรม

คลาสนามธรรม

ยินดีต้อนรับสู่บทเรียนถัดไป ในบทเรียนนี้ คุณจะได้เรียนรู้เกี่ยวกับคลาสนามธรรมใน C# จุดประสงค์ของคลาสเหล่านี้ และความแตกต่างระหว่างคลาสเหล่านี้กับอินเทอร์เฟซ มาเริ่มกันเลย

คลาสนามธรรม — ภาพประกอบ 1

คลาสนามธรรมคืออะไร

คลาสนามธรรมคืออะไร

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

ประเด็นสำคัญ: คลาสนามธรรมสามารถมีทั้งเมธอดที่นำไปใช้งานได้อย่างสมบูรณ์ และเมธอดที่ประกาศไว้เพียงอย่างเดียว (เมธอดนามธรรม)

การกำหนดคลาสนามธรรม

การกำหนดคลาสนามธรรม

หากต้องการกำหนดคลาสนามธรรม ให้ใช้คีย์เวิร์ด abstract ตัวอย่าง:

เคล็ดลับ: ใช้คลาสนามธรรมเพื่อจัดเตรียมคลาสฐานร่วมสำหรับคลาสที่เกี่ยวข้องกัน

using System;

abstract class Animal {
    public abstract void Speak(); // Abstract method
    public void Sleep() { // Non-abstract method
        Console.WriteLine("The animal is sleeping.");
    }
}

การนำคลาสนามธรรมไปใช้งาน

การนำคลาสนามธรรมไปใช้งาน

คลาสสืบทอดต้องนำเมธอดนามธรรมทั้งหมดของคลาสนามธรรมไปใช้งาน ตัวอย่าง:

ประเด็นสำคัญ: เมธอดนามธรรมกำหนดพฤติกรรมที่คลาสสืบทอดต้องนำไปใช้งาน

using System;

abstract class Animal {
    public abstract void Speak(); // Abstract method
    public void Sleep() {
        Console.WriteLine("The animal is sleeping.");
    }
}

class Dog : Animal {
    public override void Speak() {
        Console.WriteLine("The dog barks.");
    }
}

class Program {
    static void Main() {
        Dog myDog = new Dog();
        myDog.Speak(); // Outputs: The dog barks.
        myDog.Sleep(); // Outputs: The animal is sleeping.
    }
}

คลาสนามธรรมกับอินเทอร์เฟซ

คลาสนามธรรมกับอินเทอร์เฟซ

ทั้งคลาสนามธรรมและอินเทอร์เฟซต่างใช้สำหรับสร้างนามธรรม แต่มีความแตกต่างกันหลายประการ:

  • คลาสนามธรรมสามารถมีทั้งเมธอดที่นำไปใช้งานแล้วและเมธอดนามธรรม ขณะที่อินเทอร์เฟซสามารถมีได้เฉพาะเมธอดนามธรรมเท่านั้น (ก่อน C# 8.0)
  • คลาสนามธรรมสามารถมีฟิลด์ ตัวสร้าง และตัวปรับการเข้าถึงสำหรับสมาชิกได้
  • คลาสหนึ่งสามารถสืบทอดคลาสนามธรรมได้เพียงคลาสเดียว แต่สามารถนำอินเทอร์เฟซหลายรายการไปใช้งานได้

เคล็ดลับ: ใช้คลาสนามธรรมสำหรับคลาสที่เกี่ยวข้องกันอย่างใกล้ชิด และใช้อินเทอร์เฟซสำหรับการสร้างนามธรรมในขอบเขตที่กว้างขึ้น

เมื่อใดควรใช้คลาสนามธรรม

เมื่อใดควรใช้คลาสนามธรรม

คลาสนามธรรมเหมาะสำหรับใช้เมื่อ:

  • คุณต้องการกำหนดคลาสฐานร่วมที่มีความสามารถในการทำงานร่วมกัน
  • คุณจำเป็นต้องมีเมธอดที่ไม่ใช่เมธอดนามธรรม ซึ่งจัดเตรียมการนำไปใช้งานเริ่มต้นไว้
  • คุณกำลังทำงานกับคลาสที่เกี่ยวข้องกันและมีลำดับชั้นร่วมกัน

ตัวอย่าง: คลาสนามธรรม “Shape” สำหรับคลาส “Circle” และ “Rectangle”

โจทย์ฝึกปฏิบัติ

โจทย์ฝึกปฏิบัติ

สร้างคลาสนามธรรม Shape พร้อมเมธอดนามธรรม CalculateArea() จากนั้นนำเมธอดนี้ไปใช้งานในคลาสสืบทอด Rectangle และ Circle ตัวอย่าง:

using System;

abstract class Shape {
    public abstract double CalculateArea();
}

class Rectangle : Shape {
    public double Width { get; set; }
    public double Height { get; set; }

    public override double CalculateArea() {
        return Width * Height;
    }
}

class Circle : Shape {
    public double Radius { get; set; }

    public override double CalculateArea() {
        return Math.PI * Radius * Radius;
    }
}

class Program {
    static void Main() {
        Shape rectangle = new Rectangle { Width = 5, Height = 4 };
        Shape circle = new Circle { Radius = 3 };

        Console.WriteLine("Rectangle Area: " + rectangle.CalculateArea());
        Console.WriteLine("Circle Area: " + circle.CalculateArea());
    }
}

แนวทางปฏิบัติที่ดีสำหรับคลาสนามธรรม

แนวทางปฏิบัติที่ดีสำหรับคลาสนามธรรม

แนวทางปฏิบัติที่ดีมีดังนี้:

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

เคล็ดลับ: คลาสนามธรรมควรเป็นรากฐานที่มั่นคงสำหรับคลาสสืบทอด

ทำได้ยอดเยี่ยม

ทำได้ยอดเยี่ยม

ขอแสดงความยินดีด้วย คุณได้เรียนรู้วิธีใช้คลาสนามธรรมเพื่อกำหนดพฤติกรรมร่วมและบังคับใช้ความสอดคล้องระหว่างคลาสสืบทอดแล้ว ในบทเรียนถัดไป เราจะเรียนรู้เกี่ยวกับสมาชิกและเมธอดแบบสแตติกใน C# มาเขียนโค้ดกันต่อเลย

คลาสนามธรรม — ภาพประกอบ 10

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

บทเรียน “คลาสนามธรรม” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “คลาสนามธรรม”

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

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

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

บทเรียน “คลาสนามธรรม” ใช้เวลานานแค่ไหน

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

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

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

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

  1. บทนำสู่อินเทอร์เฟซ
  2. คลาสนามธรรม
  3. สมาชิกและเมธอดแบบสแตติก
  4. สำรวจชนิดแจกแจงและโครงสร้าง
  5. ตัวแทนและเหตุการณ์
  6. การทำงานกับคอลเลกชัน: รายการ พจนานุกรม และคิว
← กลับไปที่ C# Academy