ancientrein   03-14-2013, 09:27 PM
#1
เช้นเราสร้างscriptมา2class testกับ test 2 นะครับถ้าเราตั่งตัวแปรไว้ที่class test เช่น@yes ถ้าเอา@yesมาใช้ในclass test2มันจะอ่านข้อมูลของ@yesออกไหมครับ?
TheMoo2000   03-14-2013, 09:40 PM
#2
ไม่ออกครับ ลองได้โดยทำ 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+" ครับผม! แมวน้ำขาว
This post was last modified: 03-14-2013, 09:42 PM by TheMoo2000.
ancientrein   03-14-2013, 09:52 PM
#3
แล้วclassที่เขียนว่าgame_actor < game_battler เนี่ย ตรง < game_battler มีความหมายว่าไงครับ?
admannon   03-14-2013, 09:59 PM
#4
ตรง 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+" ปรากฎขึ้น
TheMoo2000   03-14-2013, 10:01 PM
#5
น่าจะเป็นการใช้เนื้อหาร่วมกันนะครับ เพราะอย่างเช่น Window_Message มีคำสั่งให้ข้อความมีสีใช่ไหมครับ? แต่สังเกตว่าเขาจะเติม < Window_Base ต่อท้ายด้วย ซึ่งใน Window_Base เนี่ย มีสีของข้อความที่ตั้งไว้ ผมเลยคิดว่าน่าจะเป็นการใช้เนื้อหาร่วมกันน่ะครับผม ในส่วนนี้เองผมก็ยังไม่เข้าใจมากเหมือนกัน ;w;//
@admannon ขอบคุณที่ช่วยตอบให้หายข้องใจไปอีกคน ครับผม! ;w;//
This post was last modified: 03-14-2013, 10:02 PM by TheMoo2000.
ancientrein   03-14-2013, 10:17 PM
#6
ผมก็ขอขอบคุณมากเช่นกันครับ
Mysticphoenix   03-15-2013, 12:18 PM
#7
ให้ constructer ของ class รับparameterด้วยก็ได้ครับ ถ้าสมมติว่าทั้งสองคลาสไม่ได้เป็นแม่ลูกกัน


class test2

def initialize(var1)
@yes = var1
end

def displayyes
p @yes #พิมพ์ instance variables ที่ชื่อว่า @yes
end

end


ป.ล. โค้ดมั่วเอา ยังไม่ได้ลอง
ให้ทั้งสองคลาสเป็นแม่ลูกกันก็ง่ายสุดแล้ว
This post was last modified: 03-15-2013, 12:27 PM by Mysticphoenix.

[Image: webboard%20signature1_zpskhtut2jg.png]
การทำอาหารที่อร่อยที่สุด และเดือดร้อนชาวบ้านมากที่สุด กำลังจะเริ่มขึ้น
Jirayu   03-17-2013, 02:23 PM
#8
ปกติถ้าจะใช้ตัวแปรที่อยู่ในคลาสอื่น คลาสนั้นจะต้องไป extend คลาสนั้นๆ ก่อนครับ

[Image: 76561198011764062.png]

[Image: graphic.png]
  
Users browsing this thread: 2 Guest(s)
Powered By MyBB, © 2002-2024 MyBB Group.
Made with by Curves UI.