คำถามติดแท็ก methods

เมธอดคือบล็อกของโค้ดที่ทำงานและเชื่อมโยงกับคลาสหรือวัตถุ มันเกี่ยวข้องกับแนวคิดที่ไม่ใช่เชิงวัตถุของฟังก์ชั่นและขั้นตอน

30
Java "ผ่านการอ้างอิง" หรือ "pass-by-value" หรือไม่?
ผมคิดเสมอว่าเป็น Java ผ่านโดยการอ้างอิง อย่างไรก็ตามฉันได้เห็นโพสต์บล็อกสองสามตัวอย่าง (ตัวอย่างเช่นบล็อกนี้ ) ที่อ้างว่าไม่ได้ ฉันไม่คิดว่าฉันเข้าใจความแตกต่างที่พวกเขาทำ คำอธิบายคืออะไร



23
Java รองรับค่าพารามิเตอร์เริ่มต้นหรือไม่
ฉันเจอโค้ด Java บางตัวที่มีโครงสร้างต่อไปนี้: public MyParameterizedFunction(String param1, int param2) { this(param1, param2, false); } public MyParameterizedFunction(String param1, int param2, boolean param3) { //use all three parameters here } ฉันรู้ว่าใน C ++ ฉันสามารถกำหนดพารามิเตอร์เป็นค่าเริ่มต้น ตัวอย่างเช่น: void MyParameterizedFunction(String param1, int param2, bool param3=false); Java รองรับไวยากรณ์ประเภทนี้หรือไม่ มีเหตุผลใดบ้างที่ทำให้ไวยากรณ์สองขั้นตอนนี้เป็นที่ต้องการมากกว่า


12
วิธีการส่งผ่านเป็นพารามิเตอร์โดยใช้ C #
ฉันมีหลายวิธีทั้งหมดที่มีลายเซ็นเดียวกัน (พารามิเตอร์และค่าส่งคืน) แต่ชื่อแตกต่างกันและ internals ของวิธีการจะแตกต่างกัน ฉันต้องการส่งชื่อวิธีการเพื่อเรียกใช้ไปยังวิธีอื่นที่จะเรียกใช้วิธีการส่งผ่าน public int Method1(string) { ... do something return myInt; } public int Method2(string) { ... do something different return myInt; } public bool RunTheMethod([Method Name passed in here] myMethodName) { ... do stuff int i = myMethodName("My String"); ... do more stuff return true; …
695 c#  .net  methods  delegates 

16
การเพิ่มวิธีการไปยังอินสแตนซ์ของวัตถุที่มีอยู่
ฉันอ่านว่ามันเป็นไปได้ที่จะเพิ่มวิธีการในวัตถุที่มีอยู่ (เช่นไม่ได้อยู่ในคำจำกัดความของชั้นเรียน) ใน Python ฉันเข้าใจว่ามันไม่ดีเสมอไป แต่คนเราจะทำสิ่งนี้ได้อย่างไร?

10
เหตุใดจึงใช้เครื่องหมายอัศเจรีย์ในเมธอด Ruby
ในทับทิมบางวิธีมีเครื่องหมายคำถาม ( ?) ที่ถามคำถามเช่นinclude?นั้นหากถามว่าวัตถุที่เป็นปัญหานั้นรวมอยู่ด้วยสิ่งนี้จะส่งกลับค่าจริง / เท็จ แต่ทำไมบางวิธีจึงมีเครื่องหมายอัศเจรีย์ ( !) ที่คนอื่นไม่มี มันหมายความว่าอะไร?


18
ความแตกต่างระหว่างวิธีการเรียนและอินสแตนซ์คืออะไร?
ความแตกต่างระหว่างวิธีการเรียนและวิธีการอินสแตนซ์คืออะไร? อินสแตนซ์เป็น accessors (getters และ setters) ในขณะที่เมธอด class นั้นค่อนข้างทุกอย่างหรือไม่?

6
ทำไมบางฟังก์ชั่นจึงมีขีดล่าง“ __” ก่อนและหลังชื่อฟังก์ชัน?
"การเน้น" นี้ดูเหมือนจะเกิดขึ้นมากมายและฉันสงสัยว่านี่เป็นข้อกำหนดในภาษา Python หรือเป็นเพียงเรื่องของการประชุม? นอกจากนี้คนชื่อและอธิบายฟังก์ชั่นที่มีแนวโน้มที่จะมีขีดล่างและทำไม ( __init__เช่น)?

1
รายการมุมมองวิธีการ getListItemXmlAttributes ล้มเหลวด้วยรายการสิ่งพิมพ์เด็ก
ฉันสร้างคลาส JS เพื่อเติมข้อมูลมุมมองรายการ SG / Folder เมื่อมีการแก้ไขรายการ ( ตามแนวทางของ Jaime) ทุกอย่างใช้งานได้ดีเมื่อฉันทำงานกับรายการในสิ่งพิมพ์ที่พวกเขาสร้างขึ้น ตัวอย่าง:ฉันเปิดส่วนประกอบหรือหน้าและlocked byคอลัมน์ที่กำหนดเองจะอัปเดตและแสดงชื่อผู้ใช้ของฉันทันที อย่างไรก็ตามเมื่อฉันไปที่สิ่งพิมพ์ย่อยและทำซ้ำขั้นตอนนั้นฉันจะได้รับหน้าต่างถามว่าฉันต้องการแปลหรือแก้ไขรายการหลัก หากฉันเลือกที่จะแก้ไขหน้าต่างหลักรหัสจะไม่ทำงาน ฉันยังไม่ได้คิดออกเลยด้วยการดีบักเริ่มต้น Chrome ดูเหมือนจะกลืนข้อผิดพลาด Firefox ให้ความลับแก่ฉัน: เวลา: 6/22/2012 3:42:54 PM ข้อผิดพลาด: ข้อยกเว้นที่ไม่ได้ตรวจสอบ: [ข้อยกเว้น ... "คอมโพเนนต์ส่งคืนรหัสความล้มเหลว: 0x80004002 (NS_NOINTERFACE) [nsIWebProgress.DOMWindow]" nsresult: "0x80004002 (NS_NOINTERFACE)" ที่ตั้ง: "JS frame :: chrome: // browser / content / tabbrowser .xml :: :: ข้อมูลบรรทัด …

17
เมื่อไหร่จะทำการ finalize () วิธีการใน Java?
ฉันจำเป็นต้องทราบเมื่อมีการใช้วิธีการที่เรียกว่าในfinalize() JVMฉันสร้างคลาสทดสอบซึ่งเขียนลงในไฟล์เมื่อมีfinalize()การเรียกเมธอดโดยลบล้างมัน มันไม่ได้ดำเนินการ ใครช่วยบอกฉันได้ว่าทำไมมันถึงไม่ทำงาน?

10
วิธีการค้นหาที่กำหนดวิธีการที่รันไทม์?
เมื่อเร็ว ๆ นี้เรามีปัญหาที่เกิดขึ้นหลังจากที่มีการกระทำหลายอย่างเกิดขึ้นกระบวนการแบ็กเอนด์ไม่สามารถทำงานได้ ตอนนี้เราเป็นเด็กชายและเด็กหญิงตัวเล็ก ๆ ที่ดีและวิ่งrake testตามเช็คอินทุกครั้ง แต่เนื่องจากมีสิ่งแปลกประหลาดบางอย่างในการโหลดห้องสมุดของ Rails มันเกิดขึ้นเมื่อเราวิ่งจาก Mongrel โดยตรงในโหมดการผลิต ฉันติดตามข้อผิดพลาดและเป็นเพราะ Rails gem ใหม่เขียนทับวิธีในคลาส String ในวิธีที่ใช้งานได้ไม่ดีในโค้ด Rails ยังไงก็ตามเรื่องสั้นสั้น ๆ มีวิธีที่รันไทม์เพื่อถามทับทิมที่กำหนดวิธีการ? สิ่งที่ต้องการwhereami( :foo )กลับมา/path/to/some/file.rb line #45? ในกรณีนี้การบอกฉันว่ามันถูกกำหนดไว้ในคลาส String จะไม่ช่วยเหลือเพราะห้องสมุดบางแห่งทำงานหนักเกินไป ฉันไม่สามารถรับประกันได้ว่าแหล่งข้อมูลอาศัยอยู่ในโครงการของฉันดังนั้นการโลภเพื่อ'def foo'ไม่จำเป็นต้องให้สิ่งที่ฉันต้องการไม่ต้องพูดถึงถ้าฉันมีหลายคน def fooบางครั้งฉันก็ไม่รู้จนกระทั่งถึงรันไทม์ที่ฉันอาจใช้

8
TypeError: method () ใช้เวลา 1 อาร์กิวเมนต์ตำแหน่ง แต่ได้รับ 2
ถ้าฉันมีคลาส ... class MyClass: def method(arg): print(arg) ... ที่ฉันใช้ในการสร้างวัตถุ ... my_object = MyClass() ... ที่ฉันเรียกmethod("foo")เช่นนั้น ... >>> my_object.method("foo") Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: method() takes exactly 1 positional argument (2 given) ... ทำไมหลามถึงบอกว่าฉันให้สองข้อโต้แย้งเมื่อฉันให้เพียงอันเดียว?

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.