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

28
ความแตกต่างระหว่าง public, protected, package-private และ private ใน Java คืออะไร?
ใน Java จะมีกฎระเบียบที่ชัดเจนในเวลาที่จะใช้ในแต่ละของการปรับเปลี่ยนการเข้าถึงคือค่าเริ่มต้น (แพคเกจเอกชน) public, protectedและprivateในขณะที่ทำให้classและinterfaceและการจัดการกับมรดก?

17
ความแตกต่างระหว่างสาธารณะส่วนตัวและได้รับการคุ้มครองคืออะไร
เมื่อไหร่และทำไมฉันจึงควรใช้public, privateและprotectedฟังก์ชั่นและตัวแปรภายในชั้นเรียน? ความแตกต่างระหว่างพวกเขาคืออะไร? ตัวอย่าง: // Public public $variable; public function doSomething() { // ... } // Private private $variable; private function doSomething() { // ... } // Protected protected $variable; protected function doSomething() { // ... }
988 php  oop  private  public  protected 

16
วิธีใดที่ดีที่สุดในการทดสอบหน่วยการป้องกันและวิธีการส่วนตัวใน Ruby
วิธีใดที่ดีที่สุดในการทดสอบหน่วยที่มีการป้องกันและวิธีการส่วนตัวใน Ruby โดยใช้Test::Unitกรอบมาตรฐาน Ruby ฉันแน่ใจว่าจะมีใครสักคนพูดขึ้นและยืนยันโดยดันทุรังว่า "คุณควรทดสอบเฉพาะวิธีการสาธารณะเท่านั้นหากจำเป็นต้องมีการทดสอบหน่วยก็ไม่ควรเป็นวิธีการป้องกันหรือเป็นส่วนตัว" แต่ฉันไม่ได้สนใจที่จะถกเถียงเรื่องนี้จริงๆ ฉันมีวิธีการหลายอย่างที่ได้รับการป้องกันหรือเป็นส่วนตัวด้วยเหตุผลที่ดีและถูกต้องวิธีการส่วนตัว / การป้องกันเหล่านี้มีความซับซ้อนพอสมควรและวิธีการสาธารณะในชั้นเรียนขึ้นอยู่กับวิธีการป้องกัน / ส่วนตัวเหล่านี้ที่ทำงานได้อย่างถูกต้องดังนั้นฉันจึงต้องการวิธีทดสอบ วิธีการป้องกัน / ส่วนตัว อีกอย่าง ... โดยทั่วไปฉันจะใส่วิธีการทั้งหมดสำหรับคลาสที่กำหนดไว้ในไฟล์เดียวและหน่วยทดสอบสำหรับคลาสนั้นในไฟล์อื่น ตามหลักการแล้วฉันต้องการให้เวทมนตร์ทั้งหมดใช้ฟังก์ชัน "การทดสอบหน่วยของวิธีการป้องกันและวิธีการส่วนตัว" นี้ในไฟล์ทดสอบหน่วยไม่ใช่ไฟล์ต้นฉบับหลักเพื่อให้ไฟล์ต้นฉบับหลักเรียบง่ายและตรงไปตรงมาที่สุด

8
เหตุใดเราจึงไม่ควรใช้การป้องกันแบบคงที่ใน java
ฉันกำลังเจอคำถามนี้มีวิธีลบล้างตัวแปรคลาสใน Java หรือไม่? ความคิดเห็นแรกที่มี 36 upvotes คือ: ถ้าคุณเคยเห็นให้protected staticเรียกใช้ ใครสามารถอธิบายได้ว่าทำไมprotected staticขมวดคิ้ว?

1
เหตุใดวิธีการ removeRange () ของ AbstractList ของ Java จึงได้รับการป้องกัน
ใครมีความคิดบ้างไหมทำไมวิธี removeRange ในAbstractList (และในArrayList ) จึงเป็นprotected ? ดูเหมือนว่าการดำเนินการที่กำหนดไว้ค่อนข้างดีและมีประโยชน์ แต่ถึงกระนั้นหากต้องการใช้เราจะบังคับให้ใช้คลาสย่อยของการใช้งานรายการ มีเหตุผลบางอย่างซ่อนอยู่หรือไม่? ดูเหมือนจะอธิบายไม่ได้สำหรับฉัน


7
การเข้าถึงของสมาชิกแบบ "แพ็กเกจส่วนตัว" ไม่ตรงกันกับการเข้าถึงเริ่มต้น (ไม่มีตัวแก้ไข) ใช่หรือไม่
ฉันสับสนเล็กน้อยเกี่ยวกับคำว่า "แพ็กเกจส่วนตัว" ที่เอกสารบางส่วนใช้ร่วมกับการใช้ "การเข้าถึงเริ่มต้น" การเข้าถึงแบบแพ็กเกจส่วนตัวและค่าเริ่มต้นไม่ตรงกันกับการป้องกันหรือไม่?

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