former for design er objekt -

, er genstand for objekt erstatter mønster, en kontrol af null objekt f.eks.i stedet for at kontrollere, om en ugyldig, hvis værdi er objekt, afspejler en ikke noget forhold.sådanne retligt genstand kan også anvendes til at give misligholdelse adfærd, hvis data ikke er til rådighed. i er objekt mønster, skaber vi en abstrakt klasse, med angivelse af de forskellige foranstaltninger, der skal gøres, konkrete klasse at udvide denne klasse og er imod, at intet gør anvendelsen af denne klasse, klasse og vil blive brugt seemlessly, hvor vi er nødt til at tjekke. værdi., gennemførelse, er vi ved at skabe en, abstractcustomer, abstrakt klasse, fastlæggelse af opearations.her kundens navn og konkrete klasser af, abstractcustomer, klasse.en fabrik, klasse, customerfactory, er skabt til at vende tilbage, realcustomer, eller, nullcustomer, genstande, baseret på navnet kunde gik til det.,, nullpatterndemo, vores demo klasse, vil bruge, customerfactory, demonstrere anvendelse af null objekt mønster.,, trin 1, skabe en abstrakt klasse.,, abstractcustomer -, offentlige abstrakt klasse, abstractcustomer (beskyttede snor navn; offentlige abstrakt boolean isnil(); offentlige abstrakt snor getname();}, trin 2, skabe konkrete klasser, at ovennævnte klasse.,, realcustomer -, offentlige klasse realcustomer udvider abstractcustomer {offentlige realcustomer (string navn) (this.name = navn} @ - offentlige snor getname() {navn} @ ham tilbage.offentlige boolean isnil() {tilbage falske}},, nullcustomer -, offentlige klasse nullcustomer udvider abstractcustomer {@ tilsidesætte offentlige snor getname() {tilbage "findes ikke i kundedatabase"} @ tilsidesætte offentlige boolean isnil() {tilbage.}}, trin 3, skabe, customerfactory, klasse.,, customerfactory -,, offentlige klasse customerfactory {offentlige statisk sidste snor [] navne = {"stjæle", "joe", "julie"}; offentlige statisk abstractcustomer getcustomer (string navn) (for int (i = 0. jeg < names.length; jeg + +) (hvis (navne [i]. equalsignorecase (navn)) (tilbage nye realcustomer (navn)}} tilbage nye nullcustomer();}}, trin 4, anvende den, customerfarbejde og børnepasning, for at få, realcustomer, eller, nullcustomer, genstande, baseret på navnet kunde gik til det.,, nullpatterndemo -, offentlige klasse nullpatterndemo {offentlige statisk tomrum vigtigste (string [] args) (abstractcustomer customer1 = customerfactory. getcustomer ("stjæle"); abstractcustomer customer2 = customerfactory. getcustomer ("bob"); abstractcustomer customer3 = customerfactory. getcustomer ("julie"); abstractcustomer customer4 = customerfactory. getcustomer ("laura"); system. println ("kunder"); system. println (customer1. getname()) system. println (customer2. getname()) system. ud. println (customer3. getname()) system. println (customer4. getname())}}, løntrin 5, kontrollereproduktion, kunder, rob findes ikke i kundedatabase julie er ikke til rådighed i kunde database,

Null Object Pattern UML Diagram



Previous:
Next Page: