‫ในบทเรียนนี้ คุณจะได้เรียนรู้วิธีสร้างและใช้งานอินเทอร์เฟซของคุณเองด้วยตัวอย่างที่เป็นรูปธรรม
‫และคุณจะได้ทราบว่าเหตุใดจึงใช้อินเทอร์เฟซ โดยเฉพาะอย่างยิ่งเมื่อชั้นเรียนของเราไม่มีความสัมพันธ์ซึ่งกันและกัน
‫ดังนั้นจึงไม่มี t แบ่งปันชั้นเรียนพื้นฐาน
‫ดังนั้นมรดกเช่นนี้จึงไม่ใช่ทางเลือก
‫ลองนึกภาพว่าเรากำลังพัฒนาวิดีโอเกมที่ผู้เล่นสามารถทำลายสิ่งของได้ แต่ทุกสิ่งที่เราทำลายจะมีพฤติกรรมที่แตกต่างกันไปขึ้นอยู่กับสิ่งที่ถูกทำลาย
‫ตัวอย่างเช่น การทำลายเก้าอี้จะเล่นเสียงการทำลายล้างและจะทำให้เกิดชิ้นส่วนของเก้าอี้ที่ถูกทำลาย
‫แต่การทำลายรถจะทำให้เกิดเสียงระเบิด ทำให้เกิดไฟ และทำลายวัตถุอื่นๆ ในบริเวณใกล้เคียง
‫สำหรับเกมของเรา เรามีเก้าอี้ที่สืบทอดมาจากเฟอร์นิเจอร์ของคลาสและรถที่สืบทอดมาจากยานพาหนะของคลาส
‫มาดูคลาสเหล่านั้นกันอย่างรวดเร็ว
‫ดังนั้นเราจึงมีเก้าอี้ตัวนี้ที่สืบทอดมาจากเฟอร์นิเจอร์ และเก้าอี้ก็มีตัวสร้างที่เรียบง่ายที่นี่
‫ซึ่งเรากำหนดสีและวัสดุตามสิ่งที่มอบให้กับวัตถุที่สร้างขึ้น
‫แต่ตอนนี้ แน่นอน ชั้นนี้กำลังสืบทอดมาจากเฟอร์นิเจอร์ ซึ่งเป็นเหตุผลว่าทำไมเราถึงมีคุณสมบัติ
‫สี และวัสดุที่เราเพิ่งใช้ในชั้นเรียนเก้าอี้เหล่านี้
‫แล้วเราก็มีคอนสตรัคเตอร์ที่นี่ ซึ่งเป็นคอนสตรัคเตอร์เริ่มต้น ซึ่งค่าเหล่านั้นจะถูกตั้งค่าเป็นค่าเริ่มต้น
‫ดังนั้นสีและวัสดุจะเป็นสีขาวและไม้ตามค่าเริ่มต้น
‫แล้วเราก็มีคอนสตรัคเตอร์อย่างง่ายที่ใช้สีและวัสดุในการตั้งค่าตามค่าเริ่มต้น
‫โอเค ไม่มีอะไรน่าคิดหรอก แต่แน่นอนว่า เรามีรถด้วย และเราต้องการที่จะทำลายเก้าอี้และรถได้ ตามที่ฉันได้กล่าวไว้ก่อนหน้านี้
‫มาดูรถกันเร็ว
‫ในที่นี้เราก็มีเรื่องเดียวกัน นั่นคือรถซับคลาสที่ขยายรถโดยที่เรากำหนดความเร็วรถและสีด้วย
‫ตอนนี้เรากำลังใช้ คอนสตรัคเตอร์อย่างง่าย อย่างที่เราทำที่นี่
‫แต่แน่นอน เราสามารถใช้ฐานที่นี่ได้เช่นกัน ผ่านความเร็วและสี
‫นั่นก็เป็นตัวเลือกที่ถูกต้องด้วย และเราไม่จำเป็นต้องใช้สิ่งนี้ในที่นี้
‫แน่นอนว่ามีสองวิธีที่แตกต่างกัน
‫ตกลง.
‫แล้วรถคันนี้ก็สืบทอดมาจากรถที่ต้องกำหนดความเร็วและสี
‫ลองดูที่คลาสรถ แล้วเราจะเห็นที่นี่ว่ารถระดับพื้นฐานนี้มีความเร็ว สี ตัวสร้างเริ่มต้น
‫ซึ่งตั้งค่าสองค่านั้น ความเร็ว 120 กิโลเมตรต่อชั่วโมง และสีด้วยสีขาว
‫แล้วเราก็มีตัวสร้างอย่างง่ายซึ่งกำหนดความเร็วและสีตามค่าที่กำหนดให้กับวัตถุยานพาหนะ
‫แน่นอนถึงวัตถุที่สืบทอดเช่นรถยนต์เป็นต้น
‫ตกลง.
‫ตอนนี้เรามีคลาสที่แตกต่างกันทั้งหมดแล้ว และเราเห็นว่ามีโครงสร้างอย่างไร มาดูคุณสมบัติการทำลายล้างที่แท้จริงกัน
‫ดังนั้นวิธีที่ดีที่สุดในการสร้างคุณลักษณะการทำลายล้างคืออะไร?
‫หากลองคิดดู เราไม่สามารถเพิ่มคลาสเพื่อให้คลาสของเราสืบทอดได้ เนื่องจาก C-sharp
‫เป็นภาษามรดกเดียวและไม่ใช่ภาษามรดกหลากหลายที่เราทุกคนสืบทอดมาจากคลาสเดียว ดังนั้นรถจึงสืบทอดมาจากรถ
‫และเก้าอี้ก็สืบทอดมาจากเฟอร์นิเจอร์อยู่แล้ว
‫จึงไม่สามารถสืบทอดจากสิ่งอื่นได้
‫ตัวอย่างเช่น พาหนะที่นี่ คุณเห็น C-sharp ไม่อนุญาตเพราะไม่สามารถมีคลาสพื้นฐานได้หลายคลาส
‫คลาสไม่สามารถมีหลายคลาสพื้นฐานใน C-sharp
‫บวกกับไม่มีความสัมพันธ์ที่เป็นรูปธรรมระหว่างรถกับเก้าอี้ที่จะแบ่งชั้นฐานหนึ่งอย่างไรก็ตามเพราะมันแตกต่างกันอย่างสิ้นเชิงกับสองสิ่งใช่ไหม?
‫หากเราใช้วิธีการปกติที่เรียกว่าวิธีทำลาย ตัวอย่างเช่น ในแต่ละคลาสที่เรามีที่นี่
‫จะรักษาได้ยาก
‫จะเกิดอะไรขึ้นหากเราตัดสินใจที่จะเปลี่ยนระบบการทำลายล้างทั้งหมดหรือเพิ่มเอฟเฟกต์ภาพให้กับวัตถุที่ทำลายได้ของเราในอนาคต
‫มันจะเป็นความเจ็บปวดจริง ๆ ที่จะผ่านแต่ละชั้นเรียนและปรับเปลี่ยนมัน
‫เพราะในกรณีนี้ เรามีคลาสย่อยเพียงสองคลาสเท่านั้น
‫ถูกต้อง.
‫แต่ลองนึกภาพว่าคุณมีคลาส 50 หรือ 100 คลาส วัตถุ 100 ประเภทในเกมของคุณ
‫จากนั้นคุณจะต้องผ่านทุก ๆ อันและปรับโค้ดตามนั้น
‫นั่นเป็นภาระจริงๆ และเราไม่อยากผ่านมันไป
‫นั่นเป็นเหตุผลที่เราต้องหาทางออกที่ดีกว่า
‫สิ่งที่เราต้องการคือวิธีบังคับใช้พฤติกรรมที่วอกแวกกับทุกชั้นเรียนที่ใช้มัน เช่นเดียวกับสัญญา
‫และถ้าคุณได้ดูวิดีโอของเราบนอินเทอร์เฟซ คุณก็รู้ว่ามันเป็นสัญญาที่เราสามารถสร้างได้
‫ดังนั้นวิธีที่ดีที่สุดในกรณีนี้คือการใช้อินเทอร์เฟซและเราจะเรียกมันว่า I Destroy Able
‫และคลาสใดๆ ที่ใช้อินเทอร์เฟซนี้จะถูกบังคับให้ปฏิบัติตามข้อกำหนดการทำลายล้างของเราและปรับแต่งมันในเวลาเดียวกัน
‫ขึ้นอยู่กับคลาสนั้นเอง
‫ไปข้างหน้าและสร้างอินเทอร์เฟซดังกล่าว
‫ดังนั้น คุณสามารถไปที่โครงการของคุณที่นี่ เพิ่มรายการใหม่ จากนั้นเลือกอินเทอร์เฟซที่นี่และตั้งชื่อให้กับมัน
‫ดังนั้นฉันจะเรียกสิ่งนี้
‫ฉันจะทำลาย ble เพื่อให้คุณสามารถเห็นได้เมื่อใช้อินเทอร์เฟซที่คุณเพิ่ม I ที่จุดเริ่มต้นของชื่อไฟล์เพื่อระบุว่านี่จะเป็นอินเทอร์เฟซ
‫มาเพิ่มอินเทอร์เฟซนี้กัน
‫ดังนั้นอินเทอร์เฟซนี้จะมีคุณสมบัติในการจัดเก็บไฟล์เสียงที่จะเรียกใช้เมื่อเราดำเนินการทำลายซึ่งจะเป็นเสียงการทำลายล้าง
‫แล้วเราก็มีวิธีที่จะทำลายวัตถุ และเราจะเรียกวิธีนี้ว่าทำลาย
‫มันจะไม่คืนอะไรเลย มันจะทำลายบางสิ่ง
‫ตัวอย่างเช่น สามารถคืนค่ากราฟิกที่คุณมีได้
‫ดังนั้นวัตถุที่คุณต้องการแสดงเมื่อรายการนั้นถูกทำลาย ตัวอย่างเช่น รถถูกทำลายหรือเก้าอี้ถูกทำลาย
‫เป็นต้น
‫ตอนนี้เรามาทำให้แน่ใจก่อนว่าคลาสของเราจะปรับใช้อินเทอร์เฟซนี้ และแน่นอนว่าใช้เนื้อหาของอินเทอร์เฟซ
‫ซึ่งหมายถึงเสียงการทำลายล้างและวิธีทำลายด้วย
‫เราจะทำอย่างนั้นได้อย่างไร?
‫ลองไปที่รถของเรากัน ตัวอย่างเช่น ที่นี่รถของเราต้องเพิ่มเครื่องหมายจุลภาคที่ด้านบนสุดของคำจำกัดความคลาสที่ด้านบนและใช้สิ่งนี้
‫ฉันทำลายอินเทอร์เฟซที่ทำได้ ตอนนี้ถ้าคุณเพิ่ม คุณจะเห็น คุณได้รับข้อผิดพลาดที่ระบุว่ารถไม่ได้ใช้เสียงการทำลายสมาชิกอินเทอร์เฟซและทำลายเพื่อให้เราสามารถแสดงการแก้ไขที่เป็นไปได้และใช้งานสมาชิกทั้งหมด
‫ตัวอย่างเช่น สิ่งนี้จะสร้างรหัสอัตโนมัติให้เรา
‫มันจะสร้างความว่างเปล่า ทำลาย ทำลายได้ และจะสร้างเสียงทำลายล้างให้เรา
‫นั่นจะเป็นเวอร์ชันที่สร้างขึ้นโดยอัตโนมัติ แต่เราสามารถทำได้ด้วยตนเอง
‫ไม่มีปัญหากับสิ่งนั้น
‫ตัวอย่างเช่น ที่นี่ เราสามารถใช้เสียงทำลายล้างได้
‫แล้วสิ่งที่ผมอยากจะทำคือผมอยากมีทรัพย์สินเพื่อเก็บวัตถุที่ถูกทำลายไว้ใกล้ๆ
‫ดังนั้นเมื่อรถถูกทำลายก็ควรทำลายวัตถุที่อยู่ใกล้เคียงด้วย
‫และรายการนี้ก็เป็นประเภทเช่นกัน
‫ฉันทำลายความสามารถได้ ซึ่งหมายความว่ามันสามารถเก็บวัตถุใด ๆ ที่ใช้อินเทอร์เฟซนี้และเราสามารถเข้าถึงได้เฉพาะคุณสมบัติและวิธีการในอินเทอร์เฟซนั้น
‫เพื่อสร้างสิ่งนั้น ฉันจะสร้างรายการสาธารณะว่าฉันทำลายวัตถุทั้งหมด และฉันจะเรียกพวกมันว่าทำลายลูกบอลที่อยู่ใกล้เคียง
‫ตอนนี้เราสามารถดำเนินการขยาย Constructor ของเราได้แล้ว
‫ในแง่หนึ่ง เราต้องการให้แน่ใจว่าเราเริ่มต้นเสียง
‫ดังนั้นเราจึงต้องแน่ใจว่าเรามีเสียงระเบิด
‫ตัวอย่างเช่น สมมติว่าเรามีเสียงนี้เรียกว่า เครื่องขยายเสียงรถยนต์ระเบิด สามเสียง
‫จากนั้นเราต้องการเริ่มต้นรายการวัตถุที่สามารถทำลายได้
‫ตัวอย่างเช่น นี่จะเป็นรายการใหม่ของอ็อบเจ็กต์ที่ถูกทำลาย จากนั้นเราก็ต้องใช้วิธีการทำลายด้วย
‫ฉันจึงทำลายสิ่งนี้
‫ที่ด้านบนนี้ คุณจะเห็นว่ามันยังไม่มีความสุข แต่ก็ยังคาดหวังให้เราใช้วิธีทำลายล้าง
‫ดังนั้นคุณจะเห็นว่าเมื่อคุณใช้งานอินเทอร์เฟซ คุณต้องติดตั้งสมาชิกเนื่องจากอินเทอร์เฟซที่นี่มีสมาชิกสองคน
‫เราจำเป็นต้องใช้ทั้งสองอย่าง
‫นั่นหมายความว่าเราต้องกลับมาที่นี่ และเราจำเป็นต้องใช้วิธีการทำลายจริง
‫เรามาทำสิ่งนั้นกันอย่างรวดเร็วเพื่อที่จะได้มัน
‫สิ่งที่ฉันต้องการเพิ่มในที่นี้คือ อย่างแรกเลย สองข้อความ
‫ฉันจะใช้คำสั่งบรรทัดขวา
‫ฉันจะทำให้มันเรียบง่ายเพราะเราไม่ได้สร้างเกมที่นี่ แต่แค่พยายามทำความเข้าใจแนวคิดของอินเทอร์เฟซ
‫ดังนั้นเมื่อรถถูกทำลาย เราควรเล่นเสียงการทำลายและสร้างเอฟเฟกต์ไฟ
‫ตรงนี้เราแค่ล้อเลียนราวกับว่าเราจะเล่นเสียงจริง ๆ แล้วมันจะพูดว่า โอเค
‫เล่นเสียงระเบิดรถสามเสียง แล้วเราก็สร้างไฟขึ้นมา
‫ดังนั้นทุกอย่างจึงอยู่ภายใต้ไฟ
‫ทุกอย่างลุกไหม้เพราะรถถูกทำลาย
‫ดังนั้นตอนนี้ เรามาผ่านการทำลายทุก ๆ อันที่อยู่ใกล้เคียงและทำลายมันให้หมด
‫ดังนั้นเราจะพูดถึงทุก ๆ อย่างที่ฉันทำลายวัตถุที่อยู่ในรายชื่อลูกบอลที่ถูกทำลายในบริเวณใกล้เคียง
‫เราเรียกมันว่าทำลายทั้งหมด
‫ดังนั้นทุกรายการจะเป็นลูกบอลที่ถูกทำลาย ซึ่งโดยพื้นฐานแล้วเป็นเพียงชื่อตัวแปรท้องถิ่น
‫ดังนั้นเราจึงพูดว่า โอเค วัตถุที่ถูกทำลายซึ่งจะใช้อินเทอร์เฟซ ID Storable จะถูกเรียกว่า ทำลายลูกบอล
‫ในแต่ละวงของเรา
‫ดังนั้นเราจึงวนซ้ำผ่านมัน ซึ่งหมายความว่าเราวนซ้ำผ่านคอลเลกชัน ทำลายลูกบอลที่อยู่ใกล้เคียง
‫ซึ่งเป็นรายการของฉันทำลายวัตถุ โดยทั่วไปวัตถุที่ใช้อินเทอร์เฟซที่ยืดได้ของ ID แล้วเราก็เรียกวิธีการทำลาย
‫โดยพื้นฐานแล้ว เราสร้างปฏิกิริยาลูกโซ่ที่นี่ ทำลายทุกสิ่งที่อยู่รอบ ๆ ทุกสิ่งที่ถูกทำลาย และนั่นก็รวมถึงรถยนต์และอื่นๆ
‫ด้วย
‫ในกรณีนี้ สมมุติว่าเรามีรถสองคันอยู่ติดกัน และมีเก้าอี้หลายตัวอยู่ติดกัน
‫ดังนั้นรถจะเรียกวิธีการทำลายนี้ว่าพวกเขาจะทำลายสิ่งของที่อยู่ใกล้เคียงเพราะเป็นการระเบิดครั้งใหญ่
‫ถูกต้อง.
‫มีเสียงขึ้นมาและทุกรายการสร้างเสียง
‫ตอนนี้คุณสามารถสร้างตัวจับเวลาที่ต้องการได้จนกว่าการระเบิดจริงจะเกิดขึ้นหลังจากมีบางสิ่งลุกไหม้
‫แต่เราจะทำให้มันง่ายที่นี่
‫ดังนั้นเราจึงทำลายรถคันอื่น แต่ยังรวมถึงเก้าอี้อื่นๆ ด้วย
‫ดังนั้นรถแต่ละคันจะแพร่เชื้อไปยังสิ่งของอื่นๆ ที่อยู่ใกล้เคียง
‫และนี่อาจเป็นได้ สมมุติว่าทุกอย่างที่อยู่ห่างออกไป 10 เมตร หรือ 5 เมตร หรือห่างออกไปกี่นิ้ว
‫ถ้าคุณต้องการใช้ระบบอเมริกันที่นี่
‫แต่นั่นคือสิ่งที่จะเกิดขึ้น
‫ทีนี้ มาดูที่เก้าอี้กัน เพราะเก้าอี้จะต้องผ่านแนวทางที่คล้ายคลึงกัน เพราะเราต้องการให้แน่ใจว่าเก้าอี้ถูกทำลาย
‫แต่การทำลายเก้าอี้จะแตกต่างกันมาก
‫ที่นี่เราจะเพิ่มอินเทอร์เฟซด้วย
‫ดังนั้นฉันทำลายอินเทอร์เฟซทั้งหมดและแน่นอนว่าเราจำเป็นต้องใช้เสียงการทำลายล้างและนั่นจะเป็นการทำลายที่แตกต่างกันมากเพราะเก้าอี้จะพังและมันจะเป็นไม้แตกที่คุณได้ยิน
‫ดังนั้นมันจะเป็นเสียงที่แตกต่างกันมากที่นี่
‫และแน่นอน เราต้องการกำหนดเสียงการทำลายล้างในตัวสร้างของเราด้วย
‫ฉันจะบอกว่าควรจะเล่นเสียงทำลายเก้าอี้
‫มันจะเหมือนเดิมเสมอ
‫นั่นเป็นเหตุผลที่ฉันไม่ได้เพิ่มไว้ในประกาศของประธาน
‫ดังนั้นฉันจึงทำให้มันง่ายที่นี่
‫แน่นอน คุณสามารถมีเก้าอี้หลายตัวที่มีเสียงระเบิดต่างกันได้
‫จากนั้นคุณจะเพิ่มที่นี่ที่ด้านบนเป็นพารามิเตอร์สำหรับตัวสร้างของคุณ
‫เอาล่ะ ตอนนี้เรามาใช้วิธีการทำลายกัน
‫และในกรณีนี้ สิ่งที่จะเกิดขึ้นคือ เราจะทำลายบางสิ่ง และอย่างแรกเลย ทำลายเก้าอี้สีตามสีที่เก้าอี้มี
‫เราจะเขียนว่าจากนั้นเราจะเล่นเสียงทำลายล้าง
‫และสุดท้ายเราจะวางไข่ชิ้นส่วนเก้าอี้
‫ในกรณีของเรา เราก็แค่เขียนมันลงบนคอนโซล
‫แต่ลองนึกภาพในเกมจริงว่าคุณจะทำอย่างไร เพราะวิธีที่ดีที่สุดในการทำลายบางสิ่งบางอย่างในวิดีโอเกมคือไม่ทำสิ่งที่คุณทำในการทำลายล้างจริง
‫ๆ ซึ่งเป็นเรื่องยากมากที่จะสร้างโดยเฉพาะอย่างยิ่งถ้า
‫อย่ามีทีมใหญ่ที่ทำทุกอย่าง
‫จากนั้นคุณก็แค่สร้างแอนิเมชั่นการระเบิดหรือการทำลายล้างครั้งใหญ่ และจากนั้นคุณจะวางไข่ชิ้นส่วนที่ถูกทำลายของแต่ละส่วนที่วางอยู่รอบๆ
‫คุณจะเห็นว่าที่นี่ไม่มีปฏิกิริยาลูกโซ่ที่มาจากวิธีการทำลายนี้
‫ดังนั้นการใช้วิธีการทำลายสำหรับเก้าอี้จึงแตกต่างอย่างมากกับวิธีการในพาหนะ
‫แต่ทั้งคู่สืบทอดจากอินเทอร์เฟซ I destroy ได้ และต้องใช้วิธีการทำลาย และพวกเขาก็สามารถทำตามวิธีของตนเองได้
‫โดยพื้นฐานแล้ว อินเทอร์เฟซช่วยให้เรามีการสืบทอดหลายแบบ แม้ว่าจะไม่ใช่การสืบทอดหลายรายการก็ตาม
‫ตกลง.
‫เอาล่ะ ไปที่โปรแกรม CSS ของเรา และใช้คลาสที่เราสร้างขึ้นใหม่จริง ๆ เพราะไม่อย่างนั้นมันน่าเบื่อใช่ไหม
‫ไปข้างหน้าและสร้างเก้าอี้สองตัว
‫เรามีเก้าอี้สำนักงานซึ่งจะเป็นสีน้ำตาลและพลาสติก แล้วเราก็มีเก้าอี้เล่นเกมซึ่งจะเป็นสีแดงและไม้
‫แล้วมาสร้างรถใหม่กัน
‫ดังนั้นรถคันนี้จะมีความเร็ว 80 และมันจะเป็นสีน้ำเงินและมันจะเป็นรถที่เสียหาย
‫แล้วเราจะเพิ่มเก้าอี้สองตัวใกล้ๆ กัน รถที่เสียหายคันนี้
‫ดังนั้นเราจึงเพิ่มมันเป็นล้อที่ถูกทำลายใกล้กับรถที่เสียหายของเรา
‫ดังนั้นตอนนี้เก้าอี้สำนักงานและเก้าอี้เล่นเกมจะเป็น ถ้าเราดูที่นี่ว่าถูกทำลาย มันอยู่ใกล้
‫ๆ เพราะเวลาสร้างรถ รายการนี้จะว่างเปล่า
‫แต่แน่นอนว่าเราทำได้ เนื่องจากเป็นรายการสาธารณะที่นี่ เราจึงสามารถเพิ่มรายการเข้าไปได้ ซึ่งเราทำได้
‫เราเพิ่มรายการที่ทำลายทั้งหมดลงไป
‫และทำไมเราถึงเพิ่มเก้าอี้ให้กับลูกบอลที่ถูกทำลายในบริเวณใกล้เคียงได้?
‫เพราะเก้าอี้ใช้อินเทอร์เฟซนี้
‫ที่เราเรียกกันว่าชนเผ่า
‫ซึ่งหมายความว่าตอนนี้เก้าอี้จะได้รับการยอมรับว่าเป็นวัตถุประเภท I ทำลาย
‫ซึ่งหมายความว่าตอนนี้เราสามารถเพิ่มเป็นการรบกวนของเราในบริเวณใกล้เคียงได้
‫ตอนนี้เราสามารถไปข้างหน้าและทำลายรถได้
‫เรียกวิธีการทำลายสำหรับรถที่เสียหายของเราเพื่อที่การระเบิดจะได้มีส่วนร่วม
‫เสียงระเบิดสามารถเริ่มต้นและสิ่งที่ดีทั้งหมดได้
‫ลองทำสิ่งนี้กัน
‫และแน่นอนว่า นี่จะเป็นเกมผจญภัยมากกว่า และไม่ใช่เกมที่คุณเห็นกราฟิก 3 มิติจริงหรืออะไรก็ตาม
‫ดังนั้นเราจึงเล่นเสียงทำลายล้าง เสียงรถระเบิด เราสร้างไฟ
‫เก้าอี้สีน้ำตาลถูกทำลาย
‫เรากำลังเล่นเสียงการทำลายของเก้าอี้การทำลายเสียงแอมป์สาม
‫จากนั้นเราก็วางไข่ส่วนเก้าอี้สำหรับเก้าอี้สีน้ำตาลของเรา
‫จากนั้นเก้าอี้สีแดงก็ถูกทำลาย
‫เรากำลังเล่นเสียงการทำลายของแอมป์สามเสียงทำลายเก้าอี้ จากนั้นเราก็วางไข่ชิ้นส่วนเก้าอี้สำหรับเก้าอี้สีแดงของเรา
‫คุณเห็นไหมว่ามันสวยมาก
‫นั่นคือวิธีที่คุณสามารถสร้างอินเทอร์เฟซของคุณเองและวิธีใช้งาน
‫และฉันหวังว่าคุณจะเข้าใจว่าอินเทอร์เฟซทำอะไรให้คุณได้บ้างและข้อดีของอินเทอร์เฟซ
‫ดังนั้นหมายเหตุสำคัญที่นี่โดยอินเทอร์เฟซจะใช้สำหรับการสื่อสารระหว่างสองคลาสที่คล้ายกันหรือไม่คล้ายกันซึ่งไม่สนใจประเภทของคลาสที่ใช้อินเทอร์เฟซ
‫เช่นเดียวกับที่รถของเราสื่อสารกับเก้าอี้เพื่อเรียกวิธีการทำลายทั้งหมด เพราะพวกเขาเพิ่งใช้อินเทอร์เฟซเดียวกันกับที่ฉันได้กล่าวไว้ก่อนหน้านี้
‫ดังนั้นในขณะที่อินเทอร์เฟซอาจดูเหมือนเข้าใจยากในแวบแรก แต่ก็ให้ประโยชน์ที่ยอดเยี่ยมแก่เรา
‫ข้อดีเหล่านั้นคือความสามารถในการอ่านโค้ดได้
‫ดังนั้นอินเทอร์เฟซถือเป็นการประกาศเกี่ยวกับความตั้งใจ ดังนั้นมันจึงกำหนดความสามารถของคลาสของคุณ
‫ดังนั้นสิ่งที่ชั้นเรียนของคุณสามารถทำได้ เช่น หากคุณใช้ AI sortable เช่น คุณจะระบุอย่างชัดเจนว่าวัตถุในชั้นเรียนของคุณสามารถจัดเรียงได้
‫ตามด้วยความหมายของโค้ด
‫ด้วยการจัดเตรียมอินเทอร์เฟซและการใช้งาน คุณกำลังแยกแนวคิดและอินเทอร์เฟซกำหนดรูปแบบพฤติกรรม
‫คำจำกัดความของสิ่งที่วัตถุสามารถทำได้และการแยกแนวคิดเหล่านั้นทำให้ความหมายของโค้ดของคุณชัดเจนยิ่งขึ้น
‫จากนั้นคุณมีรหัส
‫อินเทอร์เฟซการบำรุงรักษาช่วยลดการมีเพศสัมพันธ์และช่วยให้คุณสามารถแลกเปลี่ยนการใช้งานสำหรับแนวคิดเดียวกันได้อย่างง่ายดายโดยไม่กระทบกับรหัสพื้นฐาน
‫แล้วเราก็มีรูปแบบการออกแบบ
‫เป็นภาพรวมของการใช้สัญญา นามธรรม และส่วนต่อประสานที่สำคัญสำหรับการเขียนโปรแกรมเชิงวัตถุ
‫ดังนั้นความเข้าใจของมนุษย์และสถาปัตยกรรมระบบที่ซับซ้อน
‫ดังนั้นโดยพื้นฐานแล้วจริงๆ ก็แค่ต้องเข้าใจมันให้ดีขึ้นในฐานะมนุษย์ แล้วจากนั้นก็รับมรดกหลายอย่าง
‫ดังนั้นอินเทอร์เฟซสามารถเป็นเกตเวย์ของเราเพื่อใช้การสืบทอดหลายรายการใน C-sharp
‫สมมติว่าคุณเขียนห้องสมุดและต้องการให้ผู้ใช้แก้ไขได้
‫คุณเขียนส่วนต่อประสานและการใช้งานคลาส
‫นักพัฒนารายอื่นที่จะใช้ไลบรารีของคุณยังคงสามารถเขียนคลาสการใช้งานของตนเองได้ ซึ่งอาจใช้เทคโนโลยีหรืออัลกอริธึมที่แตกต่างกันเพื่อให้ได้ผลลัพธ์เดียวกัน
‫นี่เป็นสาเหตุที่ทำให้เราพบกับอินเทอร์เฟซมากมายในไลบรารีที่เราใช้ แต่ไม่ค่อยรู้สึกว่าจำเป็นต้องเขียนอินเทอร์เฟซของเราเอง
‫เนื่องจากเราไม่ได้เขียนไลบรารีด้วยตนเอง
‫ในบันทึกสุดท้าย สิ่งสำคัญคือการทำความเข้าใจว่าอินเทอร์เฟซถูกใช้งาน ณ จุดนี้อย่างไร
‫แน่นอนว่าเมื่อเราใช้เทคโนโลยีต่างๆ เช่น WPF และ ASP NET และ C sharp มาสเตอร์คลาส เราจะเริ่มใช้อินเทอร์เฟซมากขึ้น
‫ซึ่งจะช่วยให้คุณเข้าใจได้ดีขึ้นในอนาคต
‫ไม่เป็นไร.
‫ขอบคุณมากสำหรับการดูวิดีโอนี้
‫เจอกันใหม่ตอนหน้าครับ