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

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 

10
เหตุใดจึงต้องใช้วิธีสาธารณะในชั้นเรียนภายใน
มีรหัสจำนวนมากในหนึ่งในโครงการของเราที่มีลักษณะดังนี้: internal static class Extensions { public static string AddFoo(this string s) { if (s == null) { return "Foo"; } return $({s}Foo); } } มีเหตุผลที่ชัดเจนในการทำสิ่งนี้นอกเหนือจาก "ง่ายกว่าที่จะทำให้เป็นสาธารณะในภายหลัง" ฉันสงสัยว่ามันสำคัญเฉพาะในกรณีขอบแปลก ๆ (การสะท้อนใน Silverlight) หรือไม่เลย
250 c#  scope  public  internals 

6
Github (SSH) ผ่าน WiFi สาธารณะบล็อกพอร์ต 22
ขณะนี้ฉันอยู่ในที่สาธารณะ WIFI และฉันไม่สามารถใช้ SSH (พวกเขาอาจบล็อกพอร์ตนั้น) git pushแต่ผมต้องว่าการเชื่อมต่อที่จะทำ ➜ ssh -T git@github.com ssh: connect to host github.com port 22: Connection refused เป็นไปได้ไหมที่จะข้ามข้อ จำกัด นี้โดยการตั้งค่าอุโมงค์ SSH ผ่านพอร์ต 80 และบอกgithub pushให้ใช้การเชื่อมต่อนั้น? ทำอย่างไร ฉันใช้ OSX (สิงโต) นี่จะเป็นปัญหาที่พบบ่อยหรือไม่?
171 git  ssh  github  wifi  public 

3
ประกาศเพื่อนใน C ++ - ความแตกต่างระหว่างสาธารณะและส่วนตัว
มีความแตกต่างระหว่างการประกาศฟังก์ชั่นเพื่อน / ชั้นเป็นส่วนตัวหรือสาธารณะ? ฉันดูเหมือนจะไม่พบอะไรเกี่ยวกับเรื่องนี้ทางออนไลน์ ฉันหมายถึงความแตกต่างระหว่าง: class A { public: friend class B; }; และ class A { private: //or nothing as the default is private friend class B; }; มีความแตกต่างหรือไม่?
144 c++  private  friend  public 

2
เหตุใด typescript จึงใช้คีย์เวิร์ด“ export” เพื่อทำให้คลาสและอินเทอร์เฟซเป็นสาธารณะ
ในขณะที่ขลุกอยู่กับ typescript ฉันพบว่าคลาสของฉันภายในโมดูล (ใช้เป็นเนมสเปซ) ไม่สามารถใช้ได้กับคลาสอื่นเว้นแต่ฉันจะเขียนexportคีย์เวิร์ดก่อนหน้านั้นเช่น module some.namespace.here { export class SomeClass{..} } ตอนนี้ฉันสามารถใช้รหัสด้านบนดังนี้: var someVar = new some.namespace.here.SomeClass(); อย่างไรก็ตามฉันแค่สงสัยว่าเหตุใดจึงใช้คำหลักนี้ตรงข้ามกับการใช้publicคำหลักที่ใช้ในระดับวิธีการเพื่อแสดงว่าวิธีการหรือคุณสมบัติควรสามารถเข้าถึงได้จากภายนอก ทำไมไม่ใช้กลไกเดียวกันนี้เพื่อทำให้คลาสและอินเทอร์เฟซอื่น ๆ มองเห็นได้จากภายนอก? สิ่งนี้จะให้รหัสผลลัพธ์เช่น: module some.namespace.here { public class SomeClass{..} }
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.