‫ยินดีต้อนรับกลับ.
‫ในวิดีโอนี้ เราจะพูดถึงโครงสร้าง
‫และ struct นั้นคล้ายกับคลาสมาก แต่คลาสเป็นประเภทอ้างอิง และ struct เป็นประเภทค่า ซึ่งหมายความว่าถ้าคุณสร้างอ็อบเจ็กต์ของคลาส
‫คลาสนั้นจะไม่มีอะไรเลย
‫ดังนั้นมันจึงว่างเปล่าได้ แต่โครงสร้างต้องมีค่า
‫มาสร้างโครงสร้างที่เรียกว่าเกมกันเถอะ คุณใช้คีย์เวิร์ด struct แล้วตั้งชื่อให้มัน
‫ดังนั้นมันจึงคล้ายกับชั้นเรียนจากสิ่งที่คุณเห็น
‫คุณมีชื่อนี้ที่นี่ และจากนั้นคุณสามารถสร้างตัวแปรที่นี่ได้
‫ฉันจะสร้างอันที่เรียกว่าชื่อ จากนั้นฉันจะสร้างอันที่เรียกว่านักพัฒนา
‫และอีกอันที่เป็นการให้คะแนน
‫ดังนั้นเกมนี้ได้รับการจัดอันดับอย่างไรและวันที่เผยแพร่สตริงสาธารณะเป็นอย่างไร
‫แล้วปล่อยเมื่อไหร่?
‫นั่นเป็นโครงสร้างง่ายๆ
‫ตอนนี้เราสามารถไปข้างหน้าและสร้างวัตถุของโครงสร้างนั้นเพื่อให้เราสามารถไปข้างหน้าและพูดว่าโอเคเกมเกมหนึ่งแบบนั้น
‫ตอนนี้เรามีเกมนี้แล้ว
‫แต่เพื่อที่จะใช้เกมนั้น เราจำเป็นต้องดำเนินการต่อไปและระบุมัน
‫ดังนั้นเราจึงต้องการสเปกของเกม
‫ตัวอย่างเช่น เราต้องตั้งชื่อว่า Pokémon Go จากนั้นเกมหนึ่งต้องมีผู้พัฒนา
‫ดังนั้นเราจะพูดบางอย่างเช่น Niantic และ Game one จำเป็นต้องมีการให้คะแนน
‫เอาเป็นว่า 3 5 จาก 5 ดาวและในที่สุดก็ถึงวันวางจำหน่าย
‫ดังนั้นคุณจึงสามารถตั้งค่าเช่นนั้นได้
‫มันเลยคล้ายกับสิ่งที่คุณจะทำกับชั้นเรียนใช่ไหม?
‫ดังนั้นมันจึงเปิดตัวในปี 2559 และนั่นคือโครงสร้างเกมของเราที่เรามีที่นี่
‫ตอนนี้ เราสามารถดำเนินการต่อและเขียนข้อมูลเกมลงบนคอนโซลได้
‫สมมติว่าเราต้องการเขียนชื่อเกม
‫ดังนั้น CW เกมหนึ่ง
‫และชื่อของเขาคือแล้ววงเล็บปีกกาศูนย์และชื่อจุดเกมหรือเกมชื่อเดียว
‫อย่างที่คุณเห็น คุณสามารถดำเนินการต่อและเรียกมันว่าตัวแปร เพื่อให้เราทำสิ่งเดียวกันได้ ไม่ใช่แค่กับชื่อ
‫เราสามารถทำสิ่งนั้นกับอย่างอื่นได้
‫ดังนั้นฉันจะคัดลอกสิ่งนั้น
‫เกมที่หนึ่งได้รับการพัฒนาและตอนนี้ไม่ใช่ชื่อเกม แต่เป็นผู้พัฒนา
‫และเช่นเดียวกันที่นี่
‫เรตติ้งเป็นเกมหนึ่ง
‫เรตติ้งคือและนี่คือเรตติ้ง
‫และในที่สุด เกมที่หนึ่งก็เปิดตัวในวันที่เกมวันวางจำหน่ายอีกครั้ง
‫ตอนนี้ขอเรียกใช้
‫ควบคุมปุ่มสีแดงแล้วมาดูกันว่าเกิดอะไรขึ้น
‫และเราเป็นเกม
‫คนหนึ่งชื่อโปเกม่อนโก
‫เกมที่หนึ่งได้รับการพัฒนาโดย Niantic
‫เรตติ้งคือ 3 5 และออกจำหน่ายในวันที่ 1 กรกฎาคม 2559
‫ไม่เป็นไร.
‫เพื่อที่เราจะเป็น
‫เป็นพื้นฐานและคล้ายกับชั้นเรียนมาก
‫ถูกต้อง.
‫แล้วมันต่างกันยังไง?
‫มีอีกอย่างที่ไม่ต่างกัน
‫ฉันจะสร้างการแสดงโมฆะสาธารณะ ซึ่งควรแสดงข้อมูล
‫และสิ่งที่ผมจะทำคือผมจะดำเนินการทั้งหมดนั้นในนั้น
‫เลยจะตั้งชื่อให้ว่า
‫มันจะให้ฉันนักพัฒนา
‫มันจะให้คะแนนฉันและวันที่เผยแพร่
‫ไม่เป็นไร.
‫ตอนนี้ ฉันสามารถเรียกวิธีการแสดงแทนได้ และทำได้โดยเรียก game one แล้วบอกว่า
‫โปรดแสดงข้อมูลทั้งหมด
‫ทีนี้ลองเรียกใช้อีกครั้งและเราจะได้เห็นข้อมูลทั้งหมด
‫ไม่เป็นไร.
‫ดังนั้นคุณสามารถสร้างตัวแปรได้
‫คุณสามารถสร้างวิธีการ
‫แต่มันแตกต่างกันอย่างไร?
‫สิ่งที่คุณทำไม่ได้คือคุณไม่สามารถสร้างคอนสตรัคเตอร์ได้
‫โครงสร้างต้องไม่มีพารามิเตอร์ที่ชัดเจนน้อยกว่าตัวสร้าง
‫ดังนั้นคุณไม่สามารถสร้างคอนสตรัคเตอร์เริ่มต้นที่นี่
‫จากนั้นจึงสามารถใช้อินเทอร์เฟซได้ตั้งแต่หนึ่งอินเทอร์เฟซขึ้นไป
‫ดังนั้นคุณสามารถไปข้างหน้าและใช้อินเทอร์เฟซที่นี่ ฉันสามารถทำความสะอาดได้ ฉันเปรียบเทียบสิ่งเหล่านั้นได้
‫แล้วไม่สนับสนุนมรดก
‫ดังนั้นคุณจึงไม่สามารถใช้การสืบทอดกับโครงสร้างได้
‫คุณไม่สามารถมีตัวสร้างเริ่มต้นได้
‫ดังที่ฉันได้กล่าวไปแล้วว่าสมาชิก struct ไม่สามารถระบุเป็นนามธรรม เสมือนหรือได้รับการปกป้อง ดังนั้นพวกเขาจึงสามารถเป็นแบบสาธารณะได้
‫ดังนั้นคุณสามารถมีโครงสร้างสาธารณะหรือคุณสามารถมีโครงสร้างส่วนตัวได้
‫โครงสร้างสามารถกำหนดคอนสตรัคเตอร์ได้
‫ดังนั้นคุณสามารถมีบางอย่างเช่นเกมสาธารณะ แล้วที่นี่คุณมีชื่อสตริง
‫คุณสามารถมีสิ่งนั้นและที่จะเป็นชื่อหรือชื่อนี้เท่ากับชื่อและนักพัฒนาดอทนี้เป็นนักพัฒนาที่เท่าเทียมกัน
‫ระดับดาวเป็นคะแนนที่เท่ากัน
‫และวันที่เผยแพร่ DOT นี้เป็นวันที่เผยแพร่เท่ากัน
‫แน่นอนว่าคุณต้องมีพวกมันที่นี่
‫ผู้พัฒนาสตริง จากนั้นให้คะแนนสองเท่าและวันที่เผยแพร่สตริง
‫ตัวอย่างเช่น หากคุณต้องการดำเนินการต่อและแสดงวิธีการแสดงที่นี่ แสดงว่าคุณพบข้อผิดพลาดเนื่องจากการใช้เกมตัวแปรท้องถิ่นที่ไม่ได้กำหนด
‫ดังนั้นเกมแรกจึงไม่ได้รับมอบหมาย
‫แม้ว่าฉันจะพยายามแล้วก็ตาม สมมติว่าหลังจากมีข้อมูลทั้งหมดจนถึงตอนนี้ คุณจะเห็นว่ายังมีข้อผิดพลาดอยู่
‫ดังนั้นคุณต้องมีข้อมูลที่แตกต่างกันทั้งหมดเกี่ยวกับเกมนี้จึงจะได้รับมอบหมาย
‫มิฉะนั้น ละครเรื่องนี้ใช้ไม่ได้
‫ดังนั้นแม้ที่นี่ หลังจากที่เราได้คะแนนแล้ว เราก็ยังคงได้รับข้อผิดพลาดเดิม
‫หลังจากที่เราได้กำหนดค่าทั้งหมดแล้ว เราก็สามารถทำงานได้
‫ดังนั้นมันจึงทำงานด้วยค่า ไม่ใช่โดยการอ้างอิง เหมือนที่คลาสจะทำ
‫ถูกต้อง.
‫ดังนั้นหากคุณต้องการสรุปสั้นๆ StackOverflow คือเพื่อนของคุณ
‫สรุปสั้น ๆ เกี่ยวกับมรดกสนับสนุนของแต่ละชั้น
‫ต้นแบบอ้างอิงของเราสามารถเป็นโมฆะและมีหน่วยความจำเกินฮีปต่ออินสแตนซ์ใหม่
‫โครงสร้างไม่สามารถรองรับการสืบทอดได้เท่านั้น
‫ประเภทค่าของเราจะถูกส่งผ่านโดยค่าที่คล้ายกับจำนวนเต็ม ดังนั้นคุณจึงไม่สามารถมีการอ้างอิงที่เป็นค่าว่างตามที่คุณเห็น
‫และไม่มีหน่วยความจำเกินฮีปต่ออินสแตนซ์ใหม่
‫และทั้งสองชนิดมีแบบผสมหรือเป็นชนิดข้อมูลแบบผสมซึ่งโดยทั่วไปจะใช้เพื่อให้มีตัวแปรบางตัวที่มีความสัมพันธ์เชิงตรรกะบางอย่าง
‫สามารถมีเมธอดและเหตุการณ์ และสามารถรองรับอินเทอร์เฟซได้
‫แม้ว่าไซมอน สตีเฟนส์จะโต้แย้งว่าคลาสไม่ได้ไปแบบกองหรือชนวนเสมอไป แต่อย่าไปซ้อนกันเสมอไป
‫ไม่เป็นไร.
‫และรายการ StackOverflow โดยทั่วไปมีข้อมูลที่มีค่าค่อนข้างมากเกี่ยวกับโครงสร้าง
‫ดังนั้นความแตกต่างระหว่างโครงสร้างและคลาส
‫แต่คุณเคยเห็นพวกเขาส่วนใหญ่ที่นี่
‫แต่ตามปกติแล้ว ฉันมักจะแนะนำให้ตรวจสอบเอกสารประกอบเพื่อให้เข้าใจมากขึ้น