2011-04-03 26 views
32

स्थिर मतलब क्या है?सार्वजनिक और सार्वजनिक स्थैतिक के बीच अंतर?

मैं सार्वजनिक का मतलब है कि यह http://php.net/manual/en/language.oop5.static.php

Declaring class properties or methods as static makes them accessible without needing an instantiation of the class. A property declared as static can not be accessed with an instantiated class object (though a static method can).

+6

सार्वजनिक तरीकों और गुण सुलभ हैं और के माध्यम से कहा जाता है "->" संकेत । सार्वजनिक स्थिर तरीकों और गुणों को तत्काल कक्षा की आवश्यकता के बिना पहुंचा जा सकता है और इसे "::" के माध्यम से बुलाया जा सकता है। – arma

उत्तर

13

अंदर से कक्षा के बाहर से पहुँचा जा सकता, और निजी स्टेटिक मतलब है कि यह एक वर्ग instantiating बिना पहुँचा जा सकता है पता है। यह स्थिरांक के लिए अच्छा है।

स्टेटिक विधियों को ऑब्जेक्ट की स्थिति पर कोई प्रभाव नहीं पड़ता है। वे पैरामीटर के अलावा स्थानीय चर हो सकते हैं।

18

सार्वजनिक: सार्वजनिक घोषित वस्तुओं को हर जगह पहुंचा जा सकता है।

संरक्षित: विरासत और माता-पिता कक्षाओं (और उस वर्ग को जो आइटम को परिभाषित करता है) तक सुरक्षित सीमा तक पहुंच सीमित है।

निजी: केवल 0 वर्गआइटम को परिभाषित करने वाली कक्षा के लिए निजी सीमा दृश्यता।

स्थिर: एक स्थिर चर केवल एक स्थानीय समारोह दायरे में मौजूद है, लेकिन यह अपने मूल्य खोना नहीं करता जब प्रोग्राम निष्पादन इस दायरे छोड़ देता है।

अंतिम: अंतिम कीवर्ड अंतिम कक्षाओं के साथ परिभाषा को उपसर्ग करके विधि को ओवरराइड करने से रोकता है। यदि कक्षा स्वयं परिभाषित अंतिम है तो इसे विस्तारित नहीं किया जा सकता है।

क्षणिक: एक क्षणिक चर एक चर है जो क्रमबद्ध नहीं हो सकता है।

अस्थिर: एक चर जो एकाधिक धागे द्वारा समवर्ती रूप से संशोधित किया जा सकता है अस्थिर घोषित किया जाना चाहिए। वैरिएबल को अस्थिर घोषित किया गया है संकलक द्वारा अनुकूलित नहीं किया जाएगा क्योंकि उनका मूल्य पर किसी भी समय बदल सकता है।

1

कुछ उदाहरण ... उपयोग static मुख्य शब्द तो हम इस $ केवल वर्ग instantiating के बाद का उपयोग करते हैं नहीं कर सकते ..

class Foo{ 
    private $foo='private'; 
    private function priv_func(){ 
     echo 'priv_method'; 
     } 
    public static function ger(){ 
     echo $this->foo; 
     $this->priv_func(); 
     } 
    } 
//class Zero extends Foo{}; 
$obj=new Foo; 

$obj->ger(); 

Fatal error: Using $this when not in object context in

+0

आप उसी वर्ग के अंदर स्थिर विधियों और स्थिर चरों तक पहुंचने के लिए 'स्वयं' का भी उपयोग कर सकते हैं। 'self :: priv_func(); ' –

+0

मुझे लगता है कि अगर इस उदाहरण में थोड़ा और स्पष्टीकरण था तो वास्तव में मेरी मदद करेगा क्योंकि इस पृष्ठ पर कोई अन्य उदाहरण नहीं हैं। दुर्भाग्य से मैं वास्तव में समझ नहीं पा रहा हूं कि आप मुझे क्या सिखाने की कोशिश कर रहे हैं। – Eoin

संबंधित मुद्दे