abstracคลาส t ใน C# พร้อมตัวอย่าง

⚡ สรุปอย่างชาญฉลาด

C# Abstracคลาส t กำหนดแบบแผนที่คลาสอื่นสืบทอด แต่ไม่สามารถสร้างอินสแตนซ์ได้โดยตรง แหล่งข้อมูลนี้อธิบายเกี่ยวกับ abstraction, the abstracคีย์เวิร์ด t, เมธอดเสมือน และตัวอย่างการใช้งานคลาสพื้นฐานและคลาสลูกในภาษา C#

  • 🧱 แนวคิดหลัก: กล้ามท้องtracคลาส t ถูกทำเครื่องหมายด้วย abstracคำหลัก t ไม่สามารถสร้างอินสแตนซ์ได้ด้วยตัวเอง
  • 🧬 บทบาทการสืบทอด: มันทำหน้าที่เป็นคลาสพื้นฐานที่คลาสย่อยสืบทอด จากนั้นจึงนำไปใช้งานหรือเขียนทับเมธอดของคลาสพื้นฐานนั้น
  • 🔑 วิธีการเสมือนจริง: เมธอดที่ทำเครื่องหมายว่า virtual จะกำหนดพฤติกรรมที่คลาสที่สืบทอดมาปฏิบัติตามโดยไม่ต้องกำหนดนิยามใหม่ของคลาสเดิม
  • 🛠️ ตัวอย่างการปฏิบัติ: ตัวอย่างนี้สร้าง abstracชั้นเรียนติวเตอร์และ Guru99 บทเรียนการสร้างคลาสย่อยในภาษา C#
  • 📐 ประโยชน์จากการออกแบบ: abstracคลาส t บังคับใช้โครงสร้างที่สอดคล้องกันในคลาสย่อยต่างๆ ในขณะที่ยังคงอนุญาตให้มีฟังก์ชันการทำงานเฉพาะด้านได้

C# Abstracคลาส t

แอ็บส์คืออะไรtracคลาส t ใน C#?

abstracคลาส t ไม่สามารถสร้างอินสแตนซ์ได้ และถูกระบุด้วยคำหลัก abstract. บทคัดย่อtracคลาส t ประกอบด้วยค่า abs ศูนย์หรือมากกว่าtracวิธีการ t ในนั้น บทคัดย่อtracคลาส t ทำหน้าที่เป็นคลาสพื้นฐานและถูกออกแบบมาให้คลาสย่อยสืบทอด โดยคลาสย่อยเหล่านั้นจะต้องนำเมธอดของคลาส t มาใช้หรือเขียนทับเมธอดของคลาส t เอง

มาเรียนรู้การสร้างกล้ามเนื้อหน้าท้องกันเถอะtracคลาส t ใน C# พร้อมตัวอย่างด้านล่าง ด้านล่างนี้คือคำจำกัดความของคลาสที่ชื่อว่า 'Animal' เมื่อกำหนดคลาส 'Animal' แล้ว จะไม่ทราบข้อมูลใดๆ เกี่ยวกับสัตว์นั้น ไม่ว่าจะเป็นสุนัขหรือแมว เมธอดที่ชื่อว่า description เป็นเพียงเมธอดทั่วไปที่กำหนดไว้สำหรับคลาสนี้

abstracคลาส t ใน C#


ตอนนี้เมื่อรู้แล้วว่า Animal จะเป็นเช่นไร เราก็สร้างคลาสอื่นขึ้นมาซึ่งจะสืบทอดคลาสพื้นฐาน หากเรารู้ว่าสัตว์นั้นเป็นสุนัขจริงๆ เราจะสร้างคลาส Dog ซึ่งสืบทอดคลาสพื้นฐานหลัก ข้อแตกต่างที่สำคัญคือคลาส Dog ไม่สามารถเปลี่ยนคำจำกัดความของคลาสได้ Descriptเมธอด ion ของคลาส Animal จะต้องกำหนด abs ในภาษา C# ด้วยตนเองtracวิธีการที่เรียกว่า Dog-Descriptไอออน นี่คือแนวคิดพื้นฐานของ abs ในภาษา C#tracคลาส t

abstracคลาส t ใน C#

สร้างกล้ามท้องtracคลาส t ใน C#

มาดูกล้ามท้องกันเถอะtracคลาส t ใน C# พร้อมตัวอย่างจริงเกี่ยวกับวิธีการปรับเปลี่ยนโค้ดของเราเพื่อรวม abs ใน C#tracคลาส t โปรดทราบว่าเราจะไม่รันโค้ด เนื่องจากไม่มีสิ่งใดที่สามารถรันได้โดยใช้ abs ของ C#tracชั้นเรียน tion

ขั้นตอน 1) ขั้นตอนแรก เรามาสร้างกล้ามท้องกันก่อนtracคลาส t จะชื่อว่า Tutorial และจะมีเพียงเมธอดเดียวเท่านั้น โค้ดทั้งหมดจะต้องเขียนไว้ในไฟล์ Program.cs

สร้างกล้ามท้องtracคลาส t ใน C#

Code คำอธิบาย:-

  1. ก่อนอื่น เราจะกำหนดค่าสัมบูรณ์tracคลาส t โปรดสังเกตการใช้ค่าสัมบูรณ์tracคำหลัก t ใช้เพื่อระบุว่าคลาสเป็นแบบสัมบูรณ์tracคลาส t
  2. ต่อไป เราจะกำหนดเมธอดของเราซึ่งไม่มีการทำงานใดๆ เมธอดนี้ต้องมีคีย์เวิร์ด `virtual` ซึ่งหมายความว่าคลาสลูกไม่สามารถเปลี่ยนแปลงเมธอดนี้ได้ นี่เป็นข้อกำหนดพื้นฐานสำหรับคลาสแบบ abs ใดๆtracคลาส t


ขั้นตอน 2) ตอนนี้เรามาเพิ่มคลาสลูกของเรากันดีกว่า รหัสนี้ถูกเพิ่มลงในไฟล์ Program.cs

สร้างกล้ามท้องtracคลาส t ใน C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 abstract class Tutorial
 {
  public virtual void Set()
  {

  }
 }
  class Guru99Tutorial:Tutorial
  {
   protected int TutorialID;
   protected string TutorialName;

   public void SetTutorial(int pID,string pName)
   {
    TutorialID=pID;
    TutorialName=pName;
   }

   public String GetTutorial()
   {
    return TutorialName;
   }

  static void Main(string[] args)
  {
   Guru99Tutorial pTutor=new Guru99Tutorial();

   pTutor.SetTutorial(1,".Net");

   Console.WriteLine(pTutor.GetTutorial());

   Console.ReadKey();
  }
 }
}

โค้ดนี้ไม่มีอะไรพิเศษ เราแค่กำหนดคลาสชื่อ 'Guru'99Tutorial' ซึ่งสืบทอดคุณสมบัติ abs มาtracในคลาส Tutorial เราจะกำหนดเมธอดต่างๆ เหมือนกับที่เราเคยใช้มาก่อน

หมายเหตุ
ในที่นี้เราไม่สามารถเปลี่ยนแปลงนิยามของเมธอด Set ซึ่งถูกกำหนดไว้ในคลาส Tutorial ได้ ในคลาส Tutorial เราได้กำหนดเมธอดชื่อ 'Set' (public virtual void Set()) ไว้แล้ว เนื่องจากเมธอดนี้เป็นส่วนหนึ่งของคลาส abstracในคลาส t ของ C# เราไม่ได้รับอนุญาตให้กำหนดเมธอด Set ซ้ำอีกครั้งในคลาส t Guruคลาสเรียน 99Tutorial

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

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

ใช่แล้ว โปรแกรมช่วยเขียนโค้ดด้วย AI เช่น GitHub Copilot สามารถสร้างโค้ดที่สมบูรณ์แบบได้tracคลาส t, แนะนำรูปแบบการเขียนเมธอด และสร้างคลาสที่สืบทอดจากข้อความแจ้งเตือน นักพัฒนาควรตรวจสอบผลลัพธ์อีกครั้ง

ผู้สอน AI อธิบายเกี่ยวกับ abstracให้คำแนะนำพร้อมตัวอย่างและคำอุปมาที่เหมาะสม และตอบคำถามได้ทันที พวกเขาแปลงโค้ดให้เป็นภาษาที่เข้าใจง่าย ช่วยอธิบายping ผู้เริ่มต้นเข้าใจวิธีการสร้างกล้ามเนื้อหน้าท้องtracคลาส t จะซ่อนรายละเอียดและกำหนดพฤติกรรมร่วมกัน

สรุปโพสต์นี้ด้วย: