लेकिन मैं प्रोग्रामिंग सीखता हूं और पास्कल भाषा के साथ संरचित प्रोग्रामिंग के बाद, मैं डेल्फी के साथ ओओपी के बारे में जानना शुरू कर रहा हूं।डेल्फी में "सख्त निजी" और "संरक्षित" एक्सेस संशोधक के बीच अंतर?
तो, मैं वास्तव में strict private
शिक्षा और protected
एक के बीच का अंतर समझ में नहीं आता .. तो यहाँ है, मेरे कोड है कि यह एक "बैग" निर्माण के बारे में है, यह सिर्फ मेरी डेल्फी के सबक की शुरूआत है, शिक्षक हमें दिखा हम वस्तुओं को कैसे बना सकते हैं:
uses
SysUtils;
Type
Tbag= class (Tobject)
strict private
FcontenM : single;
Fcontent : single;
protected
function getisempty : boolean;
function getisfull: boolean;
public
constructor creer (nbliters : single);
procedure add (nbliters : single);
procedure clear (nbliters : single);
property contenM : single read FcontenM;
property content : single read Fcontent;
property isempty : boolean read getisempty;
property isfull : boolean read getisfull;
end;
function Tseau.getisempty;
begin
result := Fcontent = 0;
end;
function Tseau.getisfull;
begin
result := Fcontent = FcontenM;
end;
constructor Tseau.creer(nbliters: Single);
begin
inherited create;
FcontenM := nbliters;
end;
procedure Tbag.add (nbliters: Single);
begin
if ((FcontenM - Fcontent) < nbliters) then fcontent := fcontenM
else Fcontent := (Fcontent + nbliters);
end;
procedure Tbag.clear (nbliters: Single);
begin
if (Fcontent > nbliters) then Fcontent := (Fcontent - nbliters)
else Fcontent := 0;
end;
तो यह ऑब्जेक्ट सृजन का एक उदाहरण है; मैं समझता हूं कि सार्वजनिक घोषणा क्या है (बाहर से इंटरफ़ेस इंटरफ़ेस) लेकिन मुझे नहीं पता कि निजी और संरक्षित घोषणाओं के बीच क्या अंतर है .. मेरी मदद करने के लिए धन्यवाद ..
यह एक बग नहीं है, यह अपेक्षित व्यवहार है और वीसीएल इसका काफी उपयोग करता है। –
यही कारण है कि मैंने "बग" लिखा :-) डेल्फी काम करता है, लेकिन यह मानक ओओपी नहीं है। –
तो किसने परिभाषित किया कि "मानक ओओपी" क्या है? मुझे पता नहीं था कि कुछ ओओपी मानक बोर्ड थे। ओओपी केवल encapsulation, विरासत, और polymorphism के आसपास केंद्रित एक प्रतिमान परिभाषित करता है। मॉडिफायरों को कैसे लागू किया जाना है इसके बारे में कोई सख्त (पन इरादा) नियम नहीं है। बेहतर स्पष्टीकरण के लिए, एक्सेस नियम यूनिट स्तर पर स्पष्ट वाक्यविन्यास को जोड़ने के बिना अंतर्निहित "दोस्ती" लागू करते हैं। –