‫ยินดีต้อนรับกลับ.
‫ในวิดีโอที่แล้ว คุณได้เห็นพื้นฐานของนามธรรมแล้ว
‫และฉันต้องการแสดงให้คุณเห็นอีกเล็กน้อยเกี่ยวกับเรื่องนั้น
‫ไปข้างหน้าและสร้างลูกบาศก์
‫และมันจะเป็นไอซ์คิวบ์เบบี้
‫และมันจะมีรูปร่างเป็นลูกบาศก์
‫ไม่เป็นไร.
‫นี่ก็หมายความว่าผมอยากสร้างลูกบาศก์ และมันต้องมีรูปร่างที่เรากำลังมองว่าเป็นลูกบาศก์อยู่
‫เราใช้สิ่งนี้เป็นคีย์เวิร์ดเพื่อบอกว่าฉันต้องการให้เป็นประเภทคลาสเฉพาะ ในขณะที่ชนิดข้อมูลเฉพาะ
‫ชนิดข้อมูลคือคิวบ์ และนั่นคือชนิดข้อมูลที่เราสร้างขึ้นเอง
‫มันเหมือนกับการพูดอะไรเป็น INT
‫ฉันต้องการให้เป็นจำนวนเต็ม แต่ในกรณีนี้ เราไม่ได้ใช้ชนิดข้อมูลพื้นฐาน เช่น INT แต่เราใช้ชนิดข้อมูลที่เราสร้างขึ้นเอง
‫สิ่งที่ผมจะทำตอนนี้คือผมจะตรวจสอบว่า Ice Cube ไม่เป็นโมฆะหรือไม่ เพราะถ้ามันเป็นโมฆะ
‫มันก็จะไม่ใช่คิวบ์
‫แต่ถ้ามันไม่ใช่โมฆะ มันก็จะเป็นลูกบาศก์
‫นี่หมายความว่าถ้ามันเป็นโมฆะ, เราสามารถพูดได้อย่างปลอดภัยว่ารูปร่างนี้ไม่ใช่ลูกบาศก์, เอาล่ะ, เพราะมันไม่สามารถบวกหรือใส่มันลงในลูกบาศก์ได้
‫เพราะถ้าไม่ใช่ในคิวบา ในกรณีของเรา มันจะเป็นทรงกลมใช่ไหม
‫แล้วสิ่งที่ฉันทำได้คือฉันสามารถตรวจสอบว่ามันเป็นประเภทใดประเภทหนึ่ง ไม่ใช่แค่โดยใช้เครื่องหมายเท่ากับสองเท่าและใช้ค่า
‫null
‫แต่ฉันสามารถตรวจสอบได้ว่ารูปร่างนั้นเป็นแบบลูกบาศก์หรือไม่
‫และถ้าเป็นกรณีนี้ ฉันยังสามารถพูดได้อย่างปลอดภัยว่า
‫เป็นลูกบาศก์
‫หรือรูปร่างนี้เป็นลูกบาศก์
‫ไม่เป็นไร.
‫ดังนั้นเราจึงใช้คีย์เวิร์ด is เพื่อตรวจสอบว่าตัวแปรเป็นประเภทใดประเภทหนึ่งหรือไม่
‫เราใช้ as คีย์เวิร์ดเพื่อสร้างตัวแปรเป็นบางประเภท
‫มันไม่ได้ผลเสมอไป
‫ไม่เป็นไร.
‫ทีนี้ถ้าเรารันอีกครั้ง เราจะเห็นว่านี่คือรูปร่าง หรือรูปร่างนั้นไม่ใช่ลูกบาศก์
‫แล้วเราจะเห็นว่านี่คือลูกบาศก์ เพราะอันหนึ่งเป็นลูกบาศก์ อีกอันหนึ่งไม่ใช่ลูกบาศก์
‫อันแรกเป็นทรงกลมและมันบอกว่ารูปร่างนั้นไม่ใช่ลูกบาศก์
‫และอันต่อไปคือนี่คือลูกบาศก์
‫และมันบอกว่ารูปร่างเป็นลูกบาศก์
‫ไม่เป็นไร.
‫ตอนนี้เราเห็นแล้วว่าสิ่งนี้ใช้งานได้จริง เราจึงสามารถตรวจสอบได้
‫และในกรณีนี้ มันโง่มากใช่ไหม?
‫เพราะเราแค่ตรวจสอบเพื่อเขียนบางอย่างลงบนคอนโซล
‫แต่ในกรณีอื่นๆ มันอาจจะเกี่ยวข้องกับโปรแกรมของคุณจริงๆ เพราะคุณสามารถทำอะไรกับมันได้
‫หากเป็นลูกบาศก์ คุณก็สามารถทำบางอย่างได้ ไม่ว่าคุณจะคำนวณหรือปรับเปลี่ยนได้ หรือเก็บไว้ในฐานข้อมูลหรืออะไรก็ตาม
‫ถ้าเป็นอย่างอื่น คุณจะจัดการกับมันแตกต่างกัน
‫โอเค นั่นคือสิ่งที่คุณสามารถทำได้
‫มันค่อนข้างเย็น
‫เป็นส่วนหนึ่งของความหลากหลายที่เราใช้ที่นี่
‫ที่สวยเย็น
‫คุณจะเห็นได้ว่าคุณมีฟังก์ชันอื่นที่คุณสามารถใช้ได้
‫สมมติว่าเราต้องการส่งจากวัตถุหนึ่งไปยังลูกบาศก์
‫แน่นอนว่าสิ่งนี้ใช้ได้ก็ต่อเมื่อวัตถุนั้นมีลูกบาศก์อยู่
‫เอาล่ะ มาสร้างคิวบ์กัน
‫ฉันจะเรียกสิ่งนี้ว่าหนึ่งคิวบ์หนึ่ง
‫และมันจะเป็นลูกบาศก์ใหม่ และจะมีรัศมีเป็นเจ็ด
‫ไม่เป็นไร.
‫ตอนนี้สิ่งที่ผมทำได้คือผมสามารถสร้างคิวบ์ใหม่ได้ และผมจะเรียกมันว่า 1 คิวบ์ 2
‫ซึ่งจะหล่อคิวบ์
‫หนึ่งต่อลูกบาศก์
‫แล้วมันหมายความว่าอย่างไร?
‫หมายความว่าฉันต้องการสร้างคิวบ์ใหม่ชื่อ Cube two และฉันต้องการโยน Cube หนึ่งเป็นคิวบ์
‫แน่นอนว่าสิ่งนี้จะใช้ได้ก็ต่อเมื่อที่จริงแล้ว Cube one เป็นคิวบ์
‫และตอนนี้เรารู้ว่ามันคือลูกบาศก์
‫แต่นั่นเป็นเพราะเราตั้งโปรแกรมไว้แบบนี้
‫ในตอนท้ายมันเป็นวัตถุจริงๆ
‫จึงเป็นวัตถุที่มีลูกบาศก์
‫ดังนั้น object จึงเป็น class ที่ค่อนข้างจะสนับสนุนทุก class ใน net class hierarchy และให้บริการระดับต่ำแก่คลาสที่ได้รับ
‫ซึ่งหมายความว่าทุกคลาสเดียวได้รับมรดกจากคลาสนี้ที่เรียกว่าอ็อบเจกต์ทุกคลาส
‫และนั่นคือกรณีใน C.
‫เป็นกรณีนี้ใน Java และภาษาโปรแกรมอื่นๆ ด้วย
‫ก็คงจะมีอยู่แล้ว
‫ตัวอย่างเช่น ใน Kotlin เป็นคีย์เวิร์ด any ซึ่งเป็นแนวคิดแบบเดียวกัน
‫ถูกต้อง.
‫ดังนั้นคลาสอ็อบเจ็กต์นี้มีบางอย่าง เช่น สตริงสองสตริงเพื่อแฮช และหากคุณต้องการทราบข้อมูลเพิ่มเติม คุณสามารถตรวจสอบได้
‫ดังนั้นให้กดปุ่มควบคุมและคุณจะเห็นว่ามีการอ้างอิงเท่ากับได้รับรหัสแฮชพิมพ์เป็นสตริง
‫ดังนั้นนี่คือวิธีการที่ทุกอ็อบเจ็กต์มี แม้ว่าคุณจะไม่ได้ใช้งานก็ตาม
‫ดังนั้นคุณจึงสามารถเห็นได้อย่างรวดเร็วโดย
‫ใช้สิ่งนี้เพื่อรูปร่างของเรา
‫ดังนั้นที่นี่
‫รูปร่างเริ่มเป็นสตริง
‫คุณจะเห็นว่ามันมีวิธีนี้เหมือนกับจุดรูปร่างเท่ากับรับแฮชโค้ด รับข้อมูล และอื่นๆ
‫ดังนั้นคุณสมบัติส่วนใหญ่ที่เราเห็นในที่นี้เราไม่ได้ใช้งาน เรามีเพียงเพราะทุกคลาสสืบทอดมาจากวัตถุ
‫ไม่เป็นไร.
‫ดังนั้นตอนนี้
‫ลองเขียนบางอย่างลงบนคอนโซลด้วย Q สองที่เรามีตรงนี้
‫ดังนั้นซี ว. และสิ่งที่ผมจะพูดคือ มีโวลุ่ม แล้วก็แค่ส่งผ่านหรือพิมพ์โวลุ่มนั้น
‫ดังนั้นคิวบ์เพื่อชื่อและคิวบ์ถึงปริมาณดอท
‫ไม่เป็นไร.
‫และแน่นอนว่าสิ่งนี้จะได้ผลเท่านั้น
‫ถ้ามันเป็นลูกบาศก์จริง ๆ และในกรณีของเราคือ
‫ดังนั้นมันควรจะทำงานได้ดี
‫ตอนนี้ขอเรียกใช้
‫และเราจะเห็นว่า CUPE มีปริมาตร 300 หรือ 343
‫นั่นคือลูกบาศก์ที่เราสร้างขึ้นที่นี่ CUPE ที่มีเจ็ด
‫ไม่เป็นไร.
‫แค่นั้นเอง
‫ตอนนี้ คุณได้เห็นวิธีใช้ abstract วิธีทำงานกับคลาส abstract แล้ว เมื่อคุณสร้างคลาส
‫abstract ที่สามารถทำได้ ให้สร้างเมธอด abstract ซึ่งคุณจะต้องนำไปใช้เมื่อคลาสรับช่วงจากคลาสนี้
‫ดังนั้นเมื่อคลาสได้รับมรดกจากรูปร่าง
‫ถูกต้องทั้งหมด
‫ฉันหวังว่าคุณจะสนุกกับวิดีโอนี้
‫นี่เป็นอีกหนึ่งวิดีโอที่ฉันได้รับคำติชม
‫มีคนถามหา ดังนั้นฉันจึงตัดสินใจสร้างวิดีโอนี้โดยเฉพาะ
‫และถ้าคุณมีความต้องการหรือคำถามอื่นๆ โปรดแจ้งให้เราทราบในส่วนคำถามหรือในความขัดแย้ง