ตัวแปรสามาถดึงข้ามclassได้หรือป่าวครับ? - Printable Version +- irpg Community (https://irpg.in.th) +-- Forum: irpg Fabella RPG Maker Academia (https://irpg.in.th/forum-4.html) +--- Forum: RPG Maker Engine School (https://irpg.in.th/forum-7.html) +--- Thread: ตัวแปรสามาถดึงข้ามclassได้หรือป่าวครับ? (/thread-1071.html) |
ตัวแปรสามาถดึงข้ามclassได้หรือป่าวครับ? - ancientrein - 03-14-2013 เช้นเราสร้างscriptมา2class testกับ test 2 นะครับถ้าเราตั่งตัวแปรไว้ที่class test เช่น@yes ถ้าเอา@yesมาใช้ในclass test2มันจะอ่านข้อมูลของ@yesออกไหมครับ? RE: ตัวแปรสามาถดึงข้ามclassได้หรือป่าวครับ? - TheMoo2000 - 03-14-2013 ไม่ออกครับ ลองได้โดยทำ class ใน event ผ่านคำสั่งเรียกใช้สคริปต์ เขียนง่าย ๆ ว่า [shcode=rails]class test @yes = "555+" end class test2 p @yes #พิมพ์ instance variables ที่ชื่อว่า @yes end[/shcode] เมื่อรันจะได้ผลออกมาเป็น nil ครับ แสดงว่ามันเรียกข้าม class ไม่ได้ครับผม แต่ถ้าเปลี่ยน @yes เป็น $yes (Global Variable) จะได้ผลออกมาเป็น "555+" ครับผม! RE: ตัวแปรสามาถดึงข้ามclassได้หรือป่าวครับ? - ancientrein - 03-14-2013 แล้วclassที่เขียนว่าgame_actor < game_battler เนี่ย ตรง < game_battler มีความหมายว่าไงครับ? RE: ตัวแปรสามาถดึงข้ามclassได้หรือป่าวครับ? - admannon - 03-14-2013 ตรง game_actor < game_battler เรียก game_battler ว่าคลาสแม่ หรือ super class ครับ เป็นการสร้างคลาสโดยมีคลาสแม่เป็นหลัก มันจะดึง instance variables จากคลาสแม่ได้ และยังสามารถดึงชุดคำสั่งได้โดยใช้คำสั่ง super ครับ เช่น (เอาข้อมูลจาก TheMoo2000 มาเลย จะได้เห็นชัด) [shcode=rails] class test @yes = "555+" end class test2 < test p @yes #พิมพ์ instance variables ที่ชื่อว่า @yes end [/shcode] ผลที่ได้มันก็จะมี "555+" ปรากฎขึ้น RE: ตัวแปรสามาถดึงข้ามclassได้หรือป่าวครับ? - TheMoo2000 - 03-14-2013 น่าจะเป็นการใช้เนื้อหาร่วมกันนะครับ เพราะอย่างเช่น Window_Message มีคำสั่งให้ข้อความมีสีใช่ไหมครับ? แต่สังเกตว่าเขาจะเติม < Window_Base ต่อท้ายด้วย ซึ่งใน Window_Base เนี่ย มีสีของข้อความที่ตั้งไว้ ผมเลยคิดว่าน่าจะเป็นการใช้เนื้อหาร่วมกันน่ะครับผม ในส่วนนี้เองผมก็ยังไม่เข้าใจมากเหมือนกัน ;w;// @admannon ขอบคุณที่ช่วยตอบให้หายข้องใจไปอีกคน ครับผม! ;w;// RE: ตัวแปรสามาถดึงข้ามclassได้หรือป่าวครับ? - ancientrein - 03-14-2013 ผมก็ขอขอบคุณมากเช่นกันครับ RE: ตัวแปรสามาถดึงข้ามclassได้หรือป่าวครับ? - Mysticphoenix - 03-15-2013 ให้ constructer ของ class รับparameterด้วยก็ได้ครับ ถ้าสมมติว่าทั้งสองคลาสไม่ได้เป็นแม่ลูกกัน class test2 def initialize(var1) @yes = var1 end def displayyes p @yes #พิมพ์ instance variables ที่ชื่อว่า @yes end end ป.ล. โค้ดมั่วเอา ยังไม่ได้ลอง ให้ทั้งสองคลาสเป็นแม่ลูกกันก็ง่ายสุดแล้ว RE: ตัวแปรสามาถดึงข้ามclassได้หรือป่าวครับ? - Jirayu - 03-17-2013 ปกติถ้าจะใช้ตัวแปรที่อยู่ในคลาสอื่น คลาสนั้นจะต้องไป extend คลาสนั้นๆ ก่อนครับ |