‫ยินดีต้อนรับกลับ.
‫ในวิดีโอนี้ เราจะพูดถึงฉันแจ้งการเปลี่ยนแปลงคุณสมบัติ ดังนั้นเกี่ยวกับอินเทอร์เฟซนี้ ซึ่งช่วยให้เราสามารถทริกเกอร์บางสิ่งหากคุณสมบัติมีการเปลี่ยนแปลงและเราเห็นว่าคุณสมบัติเปลี่ยนแปลงในวิดีโอที่แล้วเมื่อเราใช้การผูกและเราจะทำ
‫คราวนี้จะแตกต่างออกไปเล็กน้อย และคุณจะเห็นวิธีใช้อินเทอร์เฟซนี้ด้วยตนเอง
‫ดังนั้น แทนที่จะใช้กริด ฉันต้องการใช้แผงสแต็ก เพราะฉันต้องการซ้อนสิ่งต่าง
‫ๆ และฉันจะสแต็ค อันดับแรก ป้ายกำกับที่ฉันจะตั้งค่าเนื้อหา อันดับหนึ่ง และ ฉันจะปิดป้ายแบบนี้
‫และด้านล่างฉันต้องการกล่องข้อความที่เราสามารถป้อนค่าได้
‫ดังนั้นฉันจะไม่ใช้บล็อกข้อความกล่องข้อความที่นี่
‫ฉันจะปิดมันทันทีแบบนั้น
‫และในกล่องข้อความ ฉันต้องการความกว้าง 100 พิกเซล ความสูง สมมติว่า 30 พิกเซล
‫แล้วผมต้องการตั้งค่าข้อความ
‫ตอนนี้ข้อความควรถูกผูกไว้ ดังนั้นฉันจะใช้การผูกข้อมูลที่นี่
‫และเส้นทางที่ฉันต้องการจะใช้จะเป็นที่หนึ่งและโหมดจะเป็นแบบสองทาง
‫ดังนั้นเราจึงเห็นว่าโหมดนี้หมายถึงอะไรและเส้นทางนี้หมายถึงอะไร
‫ทีนี้ลองคัดลอกโค้ดนี้และทำซ้ำที่นี่
‫ผมจะคัดลอกและวางสองครั้ง
‫นี่จึงจะไม่เหมือนเดิมตรงนี้และนี่คือผลลัพธ์
‫นี่จะเป็นผลลัพธ์ และนี่จะเป็นอันดับสาม
‫ตอนนี้คุณอาจสงสัยว่าหมายเลขหนึ่งนี้คืออะไร?
‫อันดับสองและผลลัพธ์ เพราะเรามีหมายเลขหนึ่งและหมายเลขสอง เป็นต้น
‫แต่นี่เป็นเพียงเนื้อหาเท่านั้น
‫พวกเขาไม่ใช่ชื่อ
‫ดังนั้นเพื่อที่จะเชื่อมต่อหรือใช้งาน เราต้องเข้าไปที่โค้ดของเราด้านหลัง เพราะผมต้องการสร้างมันขึ้นมาที่นี่
‫ดังนั้นฉันจะสร้างคลาสใหม่จริง ๆ เพราะเราจะใช้หน้าต่างหลักเป็นโปรแกรมของเราเหมือนกับโปรแกรมของเรา
‫แต่ฉันต้องการใช้ I notify เปลี่ยนแปลง และหากต้องการใช้อินเทอร์เฟซนี้ ฉันต้องสร้างคลาสใหม่ที่สามารถสืบทอดได้
‫ฉันจะใช้คลาสใหม่ที่นี่ และฉันจะเรียกมันว่าบางอย่าง เพราะสิ่งที่ฉันต้องการทำคือถ้าเรากลับไปที่ไฟล์ตัวอย่าง
‫เรามี num หนึ่ง สอง และสาม
‫และสิ่งที่ฉันต้องการคือ ถ้าฉันบวกค่าตรงนี้และค่าตรงนั้น ค่าตรงนี้ที่ด้านล่างควรเป็นผลรวมของสองค่าก่อนหน้าโดยอัตโนมัติ
‫ไม่เป็นไร.
‫ดังนั้นฉันจะใช้คลาสใหม่สำหรับสิ่งนั้น
‫และคลาสนี้ควรสืบทอดจาก I notify คุณสมบัติที่เปลี่ยนแปลง
‫และเพื่อทำอะไร?
‫หากต้องการใช้สิ่งนี้ ฉันแจ้งการเปลี่ยนแปลงคุณสมบัติ
‫เราจำเป็นต้องใช้โมเดลส่วนประกอบของระบบ
‫ดังนั้นฉันจะใช้โมเดลคอมโพเนนต์ของระบบ
‫ตอนนี้ คุณสามารถเห็นอินเทอร์เฟซของเราเป็นสีเขียว ซึ่งโดยทั่วไปแล้วจะเป็นสีเขียวอ่อน ซึ่งเป็นสีอินเทอร์เฟซใน
‫Visual Studio และตอนนี้ฉันสามารถแก้ไขข้อผิดพลาดที่อาจเกิดขึ้นได้
‫คุณจะเห็นว่าฉันต้องใช้อินเทอร์เฟซ
‫ดังนั้นฉันจะทำอย่างนั้น
‫และอย่างที่คุณเห็น เรามีกิจกรรมสาธารณะ มีการเปลี่ยนแปลงคุณสมบัติ คุณสมบัติของตัวจัดการเหตุการณ์มีการเปลี่ยนแปลง
‫และตอนนี้เพื่อที่จะใช้สิ่งนั้น เราจะต้องสร้างเมธอดส่วนตัวที่เรียกว่า void on property change ซึ่งจะนำคุณสมบัติมาใช้
‫และในกรณีของฉัน คุณสมบัตินี้จะเป็นสตริง
‫และฉันต้องการตรวจสอบก่อนว่าคุณสมบัติเปลี่ยนแปลงหรือไม่ คุณสมบัติที่เปลี่ยนนั้นไม่ว่างเปล่า ดังนั้นจึงไม่เท่ากับ null
‫เพราะถ้าเป็นกรณีนี้ ผมขอโทรไปแจ้งทรัพย์สินก่อนนะครับ
‫ทรัพย์สินมีการเปลี่ยนแปลง
‫คุณสมบัติ dot new นี้เปลี่ยนส่วนโค้งของเหตุการณ์ ซึ่งฉันจะส่งต่อไปยังคุณสมบัติ
‫ดังนั้นคุณสมบัติจึงเปลี่ยนส่วนโค้งของเหตุการณ์อย่างที่คุณเห็น
‫ต้องการชื่อคุณสมบัติสตริง
‫และชื่อทรัพย์สินที่ฉันต้องการมอบให้คือทรัพย์สินนั้นเอง
‫ดังนั้นในการเปลี่ยนแปลงคุณสมบัติ จะเรียกคุณสมบัตินี้ และผมจะป้อนคุณสมบัติที่นี่
‫ไม่เป็นไร.
‫ดังนั้นเราจะเรียกเหตุการณ์การเปลี่ยนแปลงคุณสมบัตินี้
‫และตอนนี้ เพื่อที่จะใช้สิ่งเหล่านี้ เราจำเป็นต้องมีคุณสมบัติหลายอย่าง
‫และฉันจะเริ่มต้นด้วยการสร้างเขตข้อมูลส่วนตัวก่อน
‫ดังนั้นสตริงส่วนตัวหมายเลขหนึ่ง จากนั้นสตริงส่วนตัวหมายเลขสอง และสุดท้ายสตริงส่วนตัวที่เรียกว่าผลลัพธ์
‫และตอนนี้ฉันสร้างคุณสมบัติสำหรับสิ่งเหล่านั้นทั้งหมด
‫ฉันจะสร้างคุณสมบัติที่เรียกว่า NUM one
‫และคุณสมบัติอันดับหนึ่งนี้ควรแตกต่างจากคุณสมบัติมาตรฐานเล็กน้อย
‫ดังนั้นฉันจะไม่ใช้ get และ set พื้นฐานนี้ ฉันจะใช้ self ที่กำหนด ดังนั้นฉันจะกำหนดหนึ่งด้วยตัวเองและมันไม่ควรส่งคืน
‫num one แต่ควรกลับมาดี ไม่ใช่อันนั้น กับเมืองหลวง ไม่ใช่ทรัพย์สิน แต่จริงๆ แล้วฟิลด์นี้ที่นี่
‫ดังนั้นมันจะถูกเปลี่ยนชื่อกลับเป็นหมายเลขหนึ่ง
‫เลยกลับมานับหนึ่ง
‫และถ้าฉันตั้งค่าบางอย่าง ฉันต้องการตั้งค่า
‫อีกอย่าง ฉันใช้ string ที่นี่ที่ด้านบน ดังนั้นพร็อพเพอร์ตี้ของฉันก็ควรเป็น string ด้วย
‫ดังนั้นฉันจะกลับไปนับหนึ่ง
‫และตอนนี้ถ้าใครพยายามจะตั้งเป็นหมายเลขหนึ่ง ผมอยากลองแยกวิเคราะห์ดู เพราะถ้าไม่ใช่ตัวเลขที่ผู้ใช้ป้อนล่ะ?
‫ถ้าเขาเข้ามา ฉันไม่รู้ จดหมายหรืออะไรทำนองนั้น
‫แล้วฉันต้องการจับมันและเปลี่ยนมัน
‫ดังนั้นฉันจะใช้หมายเลข INT และฉันจะสร้าง boo ใหม่ที่นี่ซึ่งฉันจะไป ผลลัพธ์จะเป็น
‫int ลองแยกวิเคราะห์และฉันจะพยายามแยกวิเคราะห์ค่าและฉัน' เอ็มจะไปเอาเลขออก
‫ดังนั้นเราจึงได้เห็นลองแยกวิเคราะห์ก่อน
‫สิ่งที่ทำได้ง่ายๆ คือพยายามแยกค่าที่กำหนดให้เป็นจำนวนเต็ม และถ้ามันใช้งานได้ ค่านั้นจะเป็นจริง
‫และถ้ามันไม่ได้ผล มันก็จะเป็นเท็จ
‫และอีกอย่าง ถ้ามันได้ผล เราก็จะได้ตัวเลขออกมาเช่นกัน
‫ถ้าผมทำได้หรือถ้าผมได้ค่าบวกตอนนี้ ผมจะบอกว่า เลข 1 จะเป็นค่า
‫และสิ่งที่ฉันต้องการเปลี่ยนหรือทริกเกอร์คือคุณสมบัติที่เปลี่ยนไปและฉันจะทริกเกอร์
‫NUM
‫ไม่เป็นไร.
‫ดังนั้นฉันจะเปลี่ยนคุณสมบัติ num one นี้หากค่ามีการเปลี่ยนแปลง
‫ตอนนี้สิ่งที่เราสามารถทำได้คือคัดลอกมันสำหรับหมายเลขที่สองของเรา
‫อันที่ 2 และผมจะเปลี่ยนเป็นเลขสอง
‫มันจะเป็นตัวเลขด้วย และตรงนี้ มันจะเป็นเลข 2 และตรงนี้ด้วย
‫และในที่สุด เราต้องการพร็อพเพอร์ตี้สำหรับผลลัพธ์ของเรา
‫ฉันจะสร้างผลลัพธ์สตริงสาธารณะนั้น และอันนี้จะมี get และ set ด้วย
‫ดังนั้นที่นี่จะได้รับผลลัพธ์เป็นหนึ่งเหมือนเดิม
‫พลัสไม่ได้
‫Parrs คุณแม่สองคน
‫และทำไมฉันถึงทำแบบนั้นได้ในตอนนี้?
‫เพราะฉันจะส่งมันกลับไปและเมื่อใดก็ตามที่ฉันตั้งค่าให้เป็นหนึ่งและฉันเป็นสองคน
‫ตัวตรงนี้, พวกมันเป็นจำนวนเต็มแล้วเพราะตั้งไว้เท่านั้น, พวกมันมีค่าก็ต่อเมื่อเป็นตัวเลขเท่านั้น
‫มิฉะนั้นจะไม่ถูกกำหนดไว้
‫พวกเขาจะว่างเปล่า
‫แล้วสิ่งที่เราต้องดำเนินการต่อไปคือคืนบางอย่างในนี้
‫ดังนั้นฉันจะกลับไปพักผ่อนเป็นสตริง
‫ผลลัพธ์ และตอนนี้ ถ้าใครพยายามกำหนดผลลัพธ์ ฉันจะทำดังต่อไปนี้
‫ดังนั้น set int ผลลัพธ์จะเป็น int pars
‫อันที่จริงก็เหมือนกับที่เราทำตรงนี้ เพียงแต่เราไม่ส่งคืน แต่เราตั้งค่าไว้
‫ดังนั้นผลลัพธ์จะเหลือเพียงสตริง
‫และตอนนี้ในที่นี้ เราเรียกคุณสมบัติ UN ว่าเปลี่ยนสำหรับผลลัพธ์ของเรา และสิ่งเดียวกันนี้ใช้กับหมายเลขสองและหมายเลขหนึ่งของเรา
‫ดังนั้นสิ่งที่ทำ
‫ดังนั้นทรัพย์สินของสหประชาชาติจึงเปลี่ยนไป
‫อย่างที่คุณจำได้ มันเปลี่ยนค่าของคุณสมบัติ
‫ดังนั้นคุณสมบัติจึงเปลี่ยนส่วนโค้งของเหตุการณ์และมันจะรับคุณสมบัติและจะเรียกคุณสมบัตินี้ว่าเหตุการณ์ที่เปลี่ยนไปแล้วคุณสมบัติเหล่านั้นทั้งหมด
‫ดังนั้นทรัพย์สินอันดับหนึ่ง ทรัพย์สินหมายเลขสอง และผลลัพธ์หนึ่งจะได้รับแจ้งและผลลัพธ์ของเราควรมีการเปลี่ยนแปลง
‫สิ่งที่ฉันอยากได้คือทุกครั้งที่มีคนป้อนตัวเลข ซึ่งหมายเลข 3 นี้ก็จะเปลี่ยนไปเช่นกัน
‫และก่อนที่เราจะตรวจสอบหรือทดสอบนั้นได้ เราต้องเข้าไปที่ไฟล์ . 0. 6 ไฟล์และสร้างวัตถุของคลาสของเรา
‫เราได้สร้างคลาสขึ้นมาแล้ว และฉันกำลังจะสร้างวัตถุใหม่ขึ้นมา
‫ฉันจะสร้างมันขึ้นมาตรงนี้ ซึ่งไม่ใช่แค่เป็นวัตถุเท่านั้น แต่ยังเป็นสมบัติด้วย
‫ดังนั้นวัตถุบางอย่างจะได้รับและตั้งค่า
‫และตอนนี้เพื่อเข้าถึงสิ่งนั้น เราจำเป็นต้องเผยแพร่ข้อมูลบางส่วนของเราด้วย
‫เรามาทำให้คลาสนี้เป็นสาธารณะกันเถอะ และตอนนี้เราก็สามารถใช้วัตถุบางอย่างได้
‫ตอนนี้ฉันสามารถตั้งค่าวัตถุบางอย่าง วัตถุบางอย่างที่นี่ที่จุดเริ่มต้น
‫และผมจะบอกว่ามันคือผลรวมใหม่ที่มีค่า ไม่ใช่หนึ่งเป็นหนึ่ง และหมายเลขสอง แค่มีค่าเท่ากับ
‫สมมุติว่าสาม
‫และอย่างที่คุณเห็น เราต้องใช้สตริงที่นี่ เพราะไม่เช่นนั้น มันจะไม่ทำงานเพราะคุณสมบัติเหล่านั้น
‫เป็นสตริง ใช่ไหม
‫ดังนั้นตอนนี้สิ่งที่ฉันต้องเรียกหรือสิ่งที่ต้องตั้งค่าคือตั้งค่าบริบทข้อมูลเป็นวัตถุผลรวมของเรา เพราะไม่เช่นนั้นจะไม่มีอะไรเกิดขึ้น
‫ตอนนี้เรามาทำสิ่งนี้กัน
‫แล้วคุณจะเห็นว่า เราไม่เคยตั้งค่าหมายเลขสาม ซึ่งเป็นผลลัพธ์ และอาจจะดีกว่าถ้าเราเรียกมันว่าผลลัพธ์จริงๆ
‫ลองไปที่นี่และเปลี่ยนป้ายกำกับเป็นผลลัพธ์หรือบางทีอาจถึงขั้น
‫นี่ก็จะเป็นผลรวม
‫บางทีมันอาจจะเหมือนกับที่ไม่ใช่หนึ่งและไม่ใช่สอง
‫ทีนี้มาเรียกใช้กันใหม่
‫และคุณอยู่ที่นั่น
‫หนึ่งบวกสามเป็นสี่
‫ทีนี้ลองเปลี่ยนเป็น 25 กัน
‫และอย่างที่คุณเห็นมันเปลี่ยนไป
‫ทีนี้ลองเปลี่ยนค่าของ 3 เป็น 31
‫เห็น56.
‫ทีนี้ ถ้าฉันเปลี่ยนค่านั้นตรงนี้
‫คุณจะเห็นว่ามันกลับไปเป็นค่าปกติ เพราะสิ่งที่เราทำใน The Setter
‫หากมีคนพยายามกำหนดผลลัพธ์ เราเพียงแค่ตั้งค่าผลลัพธ์เป็น อีกครั้ง ค่าของฝ่ายสุดท้าย หมายเลขหนึ่ง
‫และหมายเลขสอง
‫ดังนั้นมันจะกลับไปที่ผลลัพธ์จริงเสมอถ้าเราพยายามตั้งค่าผลลัพธ์ของผลลัพธ์สตริงของเรา
‫ดังนั้นตอนนี้คุณสามารถเล่นกับสิ่งนี้และคุณสามารถคำนวณสิ่งที่คุณต้องการและคุณจะมีคำตอบตามเวลาจริงหรือผลรวมของค่าของคุณในแบบเรียลไทม์
‫คุณสามารถเพิ่มอีกอันหนึ่งเข้าไป หรือตอนนี้คุณสามารถเปลี่ยนมันเป็นตัวคูณได้
‫แต่ตอนนี้ฉันรู้แล้วว่ามีการตั้งค่าบางอย่างที่เราต้องทำ
‫ดังนั้นฉันจึงต้องการที่จะผ่านมันอีกครั้งอย่างรวดเร็วกับคุณ
‫ในไฟล์ XHTML เรามีป้ายกำกับสามป้ายและกล่องข้อความทั้งสาม ซึ่งเป็นเพียงองค์ประกอบ
‫UI ใช่ไหม
‫และข้อความของแต่ละคนก็เชื่อมโยงกัน
‫อันนี้มีทางไปสู่เลขหนึ่ง อันนี้มีทางไปทั้งสอง และอันนี้มีทางไปสู่ผลลัพธ์
‫และนี่คือคนเหล่านั้นที่นี่
‫ดังนั้นหมายเลขหนึ่ง
‫คุณสมบัติหมายเลขสองและหมายเลขสาม
‫เราได้สร้างคลาสพิเศษที่สืบทอดมาจาก I แจ้งการเปลี่ยนแปลงคุณสมบัติ ซึ่งเป็นอินเทอร์เฟซที่มีคุณสมบัตินี้เปลี่ยนตัวจัดการเหตุการณ์ซึ่งเป็นเหตุการณ์
‫และเราจะเรียกการเปลี่ยนแปลงคุณสมบัติ
‫ตอนนี้ เราได้สร้างวิธีการที่เรียกว่าการเปลี่ยนแปลงคุณสมบัติ ซึ่งเรียกว่าทุกครั้งที่มีการเปลี่ยนแปลงคุณสมบัติอย่างใดอย่างหนึ่งของเรา
‫และจะทำเมื่อตั้งค่าคุณสมบัติแล้ว
‫ดังนั้นเราจึงมีคุณสมบัตินี้ num 1 และถ้าใครพยายามตั้งค่านั้นเป็น NUM one เราจะเรียกสิ่งนี้ว่าคุณสมบัติที่เปลี่ยนไป
‫และในที่นี้เราตั้งค่าคุณสมบัติแล้วบอกว่า โอเค ขอคุณสมบัติผม แล้วเปลี่ยนคุณสมบัตินั้นเป็นค่าที่ให้มา
‫ดังนั้นเราจึงตั้งค่าไว้ค่อนข้างมาก แต่ในขณะเดียวกัน เราไม่ได้ตั้งค่าเฉพาะที่เราตั้งค่าอยู่ในตัวตั้งค่าเท่านั้น
‫ดังนั้นเราจึงไม่เพียงแค่ตั้งค่าหมายเลขหนึ่งที่นี่ แต่เรายังตั้งค่าผลลัพธ์ด้วย และเราไม่ได้ตั้งค่า และที่นี่ คุณเห็นบรรทัดนี้ที่นี่
‫มันตั้งค่าฟิลด์นี้ ดังนั้นมันจึงเปลี่ยนฟิลด์สตริงส่วนตัวนี้ และสิ่งนี้ในคุณสมบัติเปลี่ยนจริง ๆ แล้วเปลี่ยน
‫ทรัพย์สินนั้นเอง
‫มันจะเปลี่ยนค่าของคุณสมบัติเอง แต่ในขณะเดียวกัน มันจะเปลี่ยนค่าของผลลัพธ์ของคุณสมบัติ
‫ดังนั้นมันจะอัปเดตผลลัพธ์ของเราทุกครั้งที่เราเปลี่ยนค่าของ num และแบบเดียวกันไปสำหรับ
‫num two และแบบเดียวกันจะไปสำหรับผลลัพธ์ของเรา ซึ่งฉันพูดทุกครั้งที่ผลลัพธ์เปลี่ยนแปลง
‫เราอยากเรียกนี้ เกี่ยวกับวิธีการเปลี่ยนทรัพย์สินด้วย
‫ถูกต้อง.
‫ตอนนี้คุณได้เห็นแล้วว่าคุณสามารถใช้ AI ได้อย่างไร แจ้งคุณสมบัติที่เปลี่ยนแปลงวิธีการใช้อินเทอร์เฟซนี้ และคุณสามารถใช้มันได้หลายวิธี
‫และมันน่าสนใจมากที่จะใช้มันทุกครั้งที่มีการเปลี่ยนแปลงคุณสมบัติ
‫สมมติว่าสีเปลี่ยนไปแล้ว และคุณต้องการทริกเกอร์เหตุการณ์ที่จะทำแอนิเมชั่นแฟนซีหรือบางคนกดปุ่มที่จะเปลี่ยนและคุณสมบัติบางอย่างในโปรแกรมของคุณ
‫และคุณต้องการให้สิ่งที่ยอดเยี่ยมเกิดขึ้นในภายหลัง
‫คุณสามารถตั้งค่าได้ทั้งหมดด้วยสิ่งนี้
‫ฉันแจ้งอินเทอร์เฟซการเปลี่ยนแปลงคุณสมบัติ
‫สิ่งที่คุณต้องทำคือสร้างความสัมพันธ์ในการสืบทอดที่นี่ระหว่างคลาสที่คุณใช้และแจ้งคุณสมบัติที่เปลี่ยนแปลง