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

พหุสัณฐานและการเขียนทับเมธอด

เชี่ยวชาญพหุสัณฐานเพื่อสร้างโค้ดที่ยืดหยุ่นและนำกลับมาใช้ใหม่ได้ผ่านการเขียนทับเมธอด

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

บทนำสู่พหุรูปแบบ

พหุรูปแบบและการเขียนทับเมธอด

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

พหุสัณฐานและการเขียนทับเมธอด — ภาพประกอบ 1

พหุรูปแบบคืออะไร

พหุรูปแบบคืออะไร

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

ตัวอย่าง: เมธอดอาจทำงานแตกต่างกันไปตามชนิดของออบเจ็กต์ที่เมธอดนั้นกำลังทำงานด้วย

ประเด็นสำคัญ: ใน C# พหุรูปแบบทำได้ผ่านการเขียนทับเมธอดและอินเทอร์เฟซ

ทำความเข้าใจการเขียนทับเมธอด

ทำความเข้าใจการเขียนทับเมธอด

การเขียนทับเมธอดช่วยให้คลาสสืบทอดกำหนดการทำงานเฉพาะของเมธอดที่มีการกำหนดไว้แล้วในคลาสฐานได้ ให้ใช้คีย์เวิร์ด virtual ในคลาสฐาน และใช้คีย์เวิร์ด override ในคลาสสืบทอด ตัวอย่าง:

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

using System;

class Animal {
    public virtual void Speak() {
        Console.WriteLine("The animal makes a sound.");
    }
}

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

class Cat : Animal {
    public override void Speak() {
        Console.WriteLine("The cat meows.");
    }
}

class Program {
    static void Main() {
        Animal myDog = new Dog();
        Animal myCat = new Cat();

        myDog.Speak(); // Outputs: The dog barks.
        myCat.Speak(); // Outputs: The cat meows.
    }
}

การใช้พหุรูปแบบ

การใช้พหุรูปแบบ

พหุรูปแบบช่วยให้คุณเขียนโค้ดที่ทำงานกับออบเจ็กต์หลายชนิดผ่านอินเทอร์เฟซร่วมได้ ตัวอย่าง:

ประเด็นสำคัญ: พหุรูปแบบช่วยให้คุณเขียนโค้ดที่เป็นทั่วไปและนำกลับมาใช้ใหม่ได้มากขึ้น

using System;

class Animal {
    public virtual void Speak() {
        Console.WriteLine("The animal makes a sound.");
    }
}

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

class Cat : Animal {
    public override void Speak() {
        Console.WriteLine("The cat meows.");
    }
}

class Program {
    static void Main() {
        Animal[] animals = { new Dog(), new Cat() };

        foreach (Animal animal in animals) {
            animal.Speak(); // Calls the appropriate method for each object
        }
    }
}

การใช้คีย์เวิร์ดคลาสฐานร่วมกับการเขียนทับ

การใช้คีย์เวิร์ดคลาสฐานร่วมกับการเขียนทับ

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

เคล็ดลับ: ใช้ base เมื่อคุณต้องการคงความสามารถของคลาสฐานไว้ในเมธอดที่เขียนทับ

using System;

class Animal {
    public virtual void Speak() {
        Console.WriteLine("The animal makes a sound.");
    }
}

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

class Program {
    static void Main() {
        Dog myDog = new Dog();
        myDog.Speak(); // Outputs: The animal makes a sound. The dog barks.
    }
}

คลาสและเมธอดนามธรรม

คลาสและเมธอดนามธรรม

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

ประเด็นสำคัญ: เมธอดนามธรรมบังคับให้คลาสสืบทอดต้องจัดเตรียมการทำงานของตนเอง

using System;

abstract class Animal {
    public abstract void Speak(); // Abstract method
}

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

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

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

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

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

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 = 4, Height = 5 };
        Shape circle = new Circle { Radius = 3 };

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

แนวทางปฏิบัติที่ดีสำหรับพหุรูปแบบ

แนวทางปฏิบัติที่ดีสำหรับพหุรูปแบบ

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

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

เคล็ดลับ: พหุรูปแบบช่วยให้ขยายและบำรุงรักษาโค้ดได้ง่ายขึ้น

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

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

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

พหุสัณฐานและการเขียนทับเมธอด — ภาพประกอบ 10

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

บทเรียน “พหุสัณฐานและการเขียนทับเมธอด” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “พหุสัณฐานและการเขียนทับเมธอด”

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

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

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

บทเรียน “พหุสัณฐานและการเขียนทับเมธอด” ใช้เวลานานแค่ไหน

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

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

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

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

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