‫Welkom terug en deze video, we gaan door met eigenschappen en setters en getters, we begonnen met de laatste video waarin we naar
‫setters en getters keken en nu gaan we dezelfde code gebruiken en we gaan om
‫het een beetje uit te breiden.
‫Dus we zagen dat we setters kunnen gebruiken om de waarde van een lidvariabele in te stellen en we kunnen onze eigen logica
‫implementeren, hoe we het willen instellen, zodat we kunnen zeggen: OK, als je de waarde wilt instellen,
‫moet het volg mijn regels zodat we onze eigen regels kunnen bepalen, die moeten zo zijn.
‫Gevolgd en dan hebben we geta's, die we ook kunnen aanpassen, dus we kunnen gewoon zeggen, OK, als je
‫de variabele wilt krijgen, ga ik je in dit geval het resultaat geven van de vermenigvuldiging van lengte,
‫hoogte, breedte, zodat u ze naar wens kunt aanpassen.
‫Laten we nu eens kijken naar eigenschappen en hoe dit allemaal met elkaar verbonden is.
‫Dus laten we een eigenschap maken en ik ga een openbare eigenschap maken met de naam hoogte.
‫En deze hoogte zal mijn hoogtelid variabel aanpassen.
‫Dus het was eerder openbaar.
‫Nu ga ik het privé maken, zodat we van buitenaf geen toegang hebben tot de hoogte.
‫Dus hier, als ik de hoogte wil aanpassen, zal ik het niet meer kunnen doen.
‫Nu krijg ik deze foutmelding.
‫Oke.
‫Laten we nu onze hoogte-eigenschap gebruiken om nog steeds toegang te krijgen tot onze hoogte daarboven.
‫Dus hoe doen we dat?
‫Welnu, we gebruiken deze eigenschap allereerst met een hoofdletter H en het begin.
‫Dat is over het algemeen hoe u onroerend goed gebruikt.
‫Dat is een conventie en een speciale programmering.
‫De eigenschappen beginnen met een hoofdletter.
‫En nu hierbinnen kan ik mijn Geter maken en ik kan terugkeren naar de hoogte en ik kan mijn zus creëren en ik kan
‫de hoogte hier instellen op bijvoorbeeld de waarde die de site is.
‫Wat is dit waardezoekwoord?
‫Wat we hier doen is eigenlijk hetzelfde als voorheen.
‫We stellen lengte in en krijgen lengte.
‫Maar nu is onze toegangspoort, om zo te zeggen, onze eigendomshoogte.
‫Dus als u toegang wilt krijgen tot of de hoogte wilt wijzigen, moet u dit doen via de eigendomshoogte.
‫Dus wat u nu kunt doen, is dat u het kunt instellen op de waarde die u instelt op de hoogte.
‫Nu, hoe ziet het er eigenlijk uit als we nu naar ons programma gaan, als we proberen de hoogte in te stellen?
‫Door rechtstreeks toegang te krijgen tot de variabele member, kunnen we dit niet meer doen, maar als u de eigenschap opent, zoals
‫u kunt zien, is de hoogte hier beschikbaar en kunnen we dit gereedschapspictogram hier zien.
‫Dit is dus over het algemeen het pictogram dat u heeft wanneer u toegang wilt tot een woning.
‫En je kunt zien dat dit werkt, dus we kunnen nu de hoogte instellen.
‫En als we dat doen, dit wil of dit voor hier, wat er ook achter dit gelijkteken staat of na dit isgelijkteken.
‫Dat is de waarde hier bij deze waarde en het wordt ingesteld als de hoogte.
‫Dus deze waarde is vrijwel hetzelfde als de lengte die we eerder hadden toen we deze ingestelde lengte maakten.
‫Het is min of meer hetzelfde concept, maar het is slechts een kortere manier om het te doen.
‫Rechts.
‫Dus je kunt zien of we een setter wilden hebben, we hadden al deze code.
‫Deze code hadden we hier natuurlijk niet nodig.
‫Oke.
‫Maar toch, we hadden al deze code en nu hebben we deze superkorte code.
‫Dit is dus het centrum.
‫Natuurlijk kunnen we hier nu ook aanpassen, laten we zeggen dat als de waarde kleiner
‫is dan nul, dan zullen we onze hoogte instellen op minus waarde en anders wordt dat hoogte, gelijke waarde.
‫Oké, laten we nu naar ons programma gaan en de high nu op min vier zetten.
‫En ten slotte, laten we dat instellen omdat we deze fout eerder hebben gemaakt, oké, en laten we nu de hoogte instellen op
‫min vier en laten we onze code uitvoeren.
‫En we zullen zien dat het zo werkt Lenfest voor hoe het is met deze strijd.
‫Dus waarom is dat?
‫Ook al zetten we de waarde op min vier?
‫Wel, we zeiden dat als de waarde van de hoogte die je aan mij doorgeeft negatief is, ik het ga vermenigvuldigen.
‫Dus als de waarde kleiner is dan nul, ga ik het vermenigvuldigen met min één.
‫Dus ik ga het weer positief maken.
‫En als het positief is, maak het dan gewoon of wijs het toe aan waarde of als het nul is, is het ook goed.
‫Oke.
‫Dus dat is wat we kunnen doen met eigenschappen.
‫Dit is een implementatie van een eigenschap.
‫Wat u natuurlijk kunt doen, is dat u de eigenschap ook gewoon kunt gebruiken zonder een variabele voor leden.
‫Dus dit gedenkwaardige dat we hier hebben, kan iets zijn dat helemaal niet vereist is.
‫Dat zouden we dus gewoon kunnen overslaan.
‫Dus laten we zeggen dat ik de breedte niet als lidvariabele wil instellen.
‫Ik wil het als eigendom hebben.
‫En ik ga je een andere manier laten zien om een eigendom te creëren.
‫En dit is veel, veel sneller.
‫Dus je gebruikt gewoon P, R, O, P, en dan dubbeltik je en dit zal deze eigenschap voor je maken.
‫Nu kunt u gewoon invoeren om te typen.
‫En ik ga zeggen, oké, het wordt een geheel getal.
‫Dan druk je weer op tik en nu kun je het een naam geven.
‫Dus ik ga deze bellen met.
‫Wat is hier nu aan de hand?
‫Welnu, dit is een code die alleen door C Sharp wordt begrepen en die zelfs automatisch voor ons is gemaakt met onze
‫ID, toch.
‫Zegt gewoon puntkomma instellen, puntkomma.
‫Dus dit betekent gewoon dat het gewoon een standaard getter en standaard setter wordt, wat betekent dat
‫als je toegang wilt hebben met, je er gewoon toegang toe kunt krijgen door de with variabele deze eigenschap te gebruiken.
‫En als je het wilt instellen, kun je het ook gewoon gebruiken.
‫Dus wat betekent het in ons geval?
‫Welnu, het betekent dat we nu toegang hebben tot deze eigenschap door gewoon een waarde toe te wijzen en als je het wilt
‫uitrijden.
‫Dus als we er toegang toe willen hebben.
‫Dozen met.
‫Is een stip.
‫Met zo hier hebben we direct toegang tot het pand.
‫Oké, dus dit is het verschil hier.
‫Dus intern is het hetzelfde alsof we hebben gecreëerd.
‫De.
‫Met laten we hier op terugkomen met laten we deze member-variabele opnieuw hebben, dus
‫intern is het hetzelfde alsof ik dit openbaar heb gemaakt en met en ik ga dit voor nu uitspreken en ik heb een getter.
‫Dus krijg ik de terug met.
‫Of ze beginnen met.
‫En het centrum waar ik zei dat ze beginnen met waarde.
‫Oké, dit is dus echt.
‫Er is.
‫Code hier is eigenlijk precies hetzelfde als deze, en intern is het ook wat er gebeurt als
‫je de code compileert, zodat de compiler dat automatisch doet.
‫Voor ons zegt het gewoon: OK, als je deze regel code hebt, ga ik het helemaal behandelen alsof het deze code is
‫die je hier hebt, alleen dat het een stuk korter is en dat het een stuk eenvoudiger is om dit te maken
‫code.
‫Oke.
‫Dus ik ga hier gewoon commentaar op geven, omdat ik het lees als deze korte benadering die we daar hebben.
‫En laten we dit zo uitspreken.
‫En ik heb deze lidvariabele niet meer nodig, oké, want hier hebben we een verbaal lid nodig omdat ik de met heb
‫ingesteld en in dit geval zei ik de lidvariabele met ik heb de niet ingesteld.
‫Onze economie kan niet met zichzelf in zee, dus als ik in plaats daarvan hier mee zou schrijven.
‫En als ik dat nu doe, creëer ik een stack overflow, dus ik probeer constant iets in te stellen en het wordt
‫hier een eindeloze lus, wat niet goed is.
‫Daarom moest ik de variabele voor dit voorbeeld hier onthouden.
‫Oke.
‫Maar intern zal het het zo behandelen.
‫OK, dus het behandelt het intern als de code die we hier hebben, alleen dat het voor ons een stuk korter
‫is.
‫Oké, dus nu een kleine uitdaging voor jou, ga je gang en maak een eigenschap voor volume die het
‫omringt zoals we deden met de breedte hier.
‫Oke.
‫Dus vrijwel hetzelfde voorbeeld dat we hier hadden, alleen dat het het volume gaat aanpassen en niet de
‫breedte.
‫Dus probeer dat alsjeblieft, maak je eigen eigendom, typ het uit.
‫Maak niet de korte benadering of gebruik de korte benadering.
‫Oke.
‫Dus om dit logisch te maken, moeten we eerst ons volume privé maken en dan
‫kunnen we een eigendom creëren voor een volume dat zo openbaar is en volume met een hoofdletter V gaat krijgen.
‫Volume terugzetten en dan zitten.
‫Dit volume is gelijk aan waarde.
‫Dit is dus hun eigendom dat we voor het volume hebben gemaakt.
‫Ik hoop dat je dat hebt kunnen doen.
‫Natuurlijk had je dit volume gewoon helemaal kunnen verwijderen en het op dezelfde manier kunnen maken als we
‫deden met het een stuk sneller.
‫Maar ik wilde je even laten zien dat dit ook gaaf is.
‫Nu de.
‫Belangrijk onderdeel hier is dat we kunnen nadenken over de volumevariabele of deze eigenschap en waarom of op welk punt
‫is het zinvol om deze te veranderen of te krijgen?
‫Heeft het zelfs zin om ze allebei te doen?
‫Omdat het volume iets is dat wordt berekend op basis van de breedte en hoogte en lengte.
‫Heeft het nu zin om het volume rechtstreeks in te stellen?
‫Nou nee, dat zou ik zeggen.
‫Ik denk dat het helemaal geen zin heeft om het volume in te stellen.
‫Dus we kunnen van dit hele centrum af en hebben alleen een getter.
‫Nu, het volume zelf, we stellen het volume nooit in.
‫Het wordt altijd berekend.
‫Dus heeft het zin om gewoon het volume terug te sturen?
‫Nou, dat is echt niet zo, want wat we eigenlijk moeten doen is hier
‫op dit punt, we zouden moeten berekenen dat het volume de vermenigvuldiging van lengte, hoogte en met hetzelfde zal zijn.
‫Dus nu is het veel zinvoller.
‫Dus wat we teruggeven met het volume is veel zinvoller.
‫Als iemand het volume wil hebben, dan krijgen ze dat.
‫Nu hebben we natuurlijk een kleine fout gemaakt hier onderaan of sommige get-volume-methoden die we niet meer nodig hebben,
‫en tegelijkertijd is hier met nu de eigenschap waartoe we toegang hebben.
‫Het zal niet zo zijn.
‫De no verbale meer, want die hebben we niet meer.
‫En natuurlijk kunnen we in ons programmageval nu ook alles aanpassen, dus nu hebben
‫we direct toegang tot wifi en hebben we direct toegang tot de volume-eigenschap en niet meer tot de volumelidvariabele.
‫Oke.
‫Dus laten we hier nu een laatste stap doen.
‫En dat is om een constructor toe te voegen, dus public box.
‫En.
‫Lengte en hoogte en eindigen met.
‫Dus als we nu een doos maken, wil ik al die waarden hebben en de
‫lengte die ik krijg als de doos eenmaal is gemaakt, moet deze lengte zijn, dan moet de hoogte die deze hoogte krijgt de hoogte
‫zijn.
‫Dus de hoogte die wordt gegeven, deze zou de hoogte moeten zijn die we hier hebben, wat onze lidvariabele
‫is.
‫En onze met is de laatste.
‫En dit is het pand.
‫Dus we zeiden het tegen de breedte die ons is gegeven.
‫In dit geval kun je dit sleutelwoord natuurlijk weglaten, want het is ook duidelijk dat
‫we het hebben over de eigenschap van deze klasse.
‫Je hebt dit sleutelwoord hier dus niet nodig.
‫Nu, een belangrijk ding dat iemand vroeg en ik wilde dit echt duidelijk maken.
‫Dus dit die lengte gelijke lengte werkt, maar lengte is hier gelijk aan.
‫Die lengte klopt niet.
‫Dus deze regel hier slaat nergens op omdat lengte dit deel hier is, wat eigenlijk slechts een parameter is en het is de waarde
‫die aan ons wordt gegeven.
‫We willen dus niet de waarde aanpassen die ons wordt gegeven, maar we willen de waarde van onze eigenschap of
‫van onze membervariabele instellen.
‫En dat is wat we hier doen.
‫Dus en in dit geval is dat wat we doen.
‫We stellen de waarde van onze member-variabele in.
‫Oké, laten we deze box nu gebruiken als aanmaakboxen, want nu hoeven we dat allemaal niet meer te doen.
‫We hoeven de waarden niet meer rechtstreeks in te stellen, maar we kunnen ze wel instellen bij het maken van onze box.
‫Dus ik ga gewoon waarden drie, vier en vijf toewijzen.
‫Dus de lengte is drie om te verbergen of eigenlijk is de hoogte vier.
‫En met deze vijf.
‫En als we dit nu uitvoeren, zal het de breedte en het volume voor ons weergeven.
‫Zodat je met dit vijfdelige volume 60 bent.
‫Oke.
‫Dat lijkt te werken.
‫Wat we nu kunnen doen, is dat we kunnen beginnen met toegang tot ons eigendom.
‫Laten we zeggen dat we de breedte nu op tien zetten en deze code opnieuw uitvoeren.
‫En we hebben net nog een keer gespeeld, zodat we kunnen zien dat de standaardwaarde die werd gegeven wordt afgedrukt en dan de
‫nieuwe waarde die we hebben ingesteld, dus we stellen in met 210 en nu staat er de waarde en het
‫berekent de met dienovereenkomstig.
‫Dus drie keer, vier keer tien is 120.
‫Is het nieuwe volume in orde, oproepen, dus wat we deden, is dat we allereerst een aantal variabelen zonder variabelen
‫hebben gemaakt.
‫We hebben ze privé gemaakt, zodat niemand behalve deze klasse zelf er rechtstreeks toegang toe heeft.
‫OK, dus geen enkele andere klas heeft er rechtstreeks toegang toe.
‫Ze hebben er alleen toegang toe via onze eigendommen die we hebben gemaakt of via onze setters en getters.
‫Dus we hebben de ingestelde lengte op grote lengte.
‫Dus als iemand toegang wil krijgen tot de lengtevariabele, moeten ze de set-lengte gebruiken en lengte
‫krijgen.
‫Dit is een volkomen geldige benadering en dat zul je zien.
‫En ja, met die benaderingen kun je de logica definiëren die je wilt volgen.
‫Als iemand bijvoorbeeld een variabele wil instellen of als hij een variabele wil krijgen.
‫Een andere manier om dit te doen, is door een eigendom rechtstreeks te gebruiken.
‫Dus als u een eigenschap gebruikt, moet u deze met een hoofdletter noemen en dan
‫kunt u een getter en dergelijke implementeren. Maar je kunt er ook voor kiezen om ofwel alleen
‫een getter of alleen een letter te implementeren of niet, natuurlijk, beide hier implementeren.
‫U kunt de waarden ook rechtstreeks instellen, zodat u ofwel de lidvariabelen kunt instellen.
‫Dit hebben we hier dus gedaan.
‫Om zo te zeggen, het toevoegen van een gateway met de naam height, wat ons eigendom is, aan onze hoogte die we hier bovenaan
‫hebben gemaakt, wat onze lidvariabele is, of we gingen gewoon de directe route waar we net zeiden, OK,
‫we zullen sturen.
‫We hebben hier een zeer eenvoudige automatisch geïmplementeerde eigenschap en we hoeven er geen extra lidvariabele voor te hebben.
‫We hadden de hele weg kunnen gaan voor al die variabelen om alleen eigenschappen te hebben, dus we hadden het heel
‫eenvoudig kunnen maken.
‫Maar gewoon met drie eigenschappen zoals.
‫Dit om dat allemaal kwijt te raken en gewoon een openbare of PR op dubbele tik en dit zou de lengte
‫zijn, gewoon instellen en dan hetzelfde voor de hoogte, enzovoort.
‫Maar ik wilde je gewoon alle verschillende manieren laten zien die er zijn en alle verschillende manieren die je
‫zult zien.
‫En meestal als je iets ziet of wanneer je eigenschappen gebruikt, zul je het meestal zo
‫zien.
‫Dus met de automatisch geïmplementeerde eigenschap, wat is de gemakkelijkste en snelste manier?
‫U hoeft niet alle verschillende benaderingen te gebruiken die ik u heb laten zien
‫die echt belangrijk zijn, u hoeft niet alle verschillende structuren te gebruiken, maar in sommige gevallen moet u het centrum
‫implementeren.
‫In sommige gevallen moet u de specifieke volgorde implementeren en nu weet u hoe u dit moet doen.
‫Kortom, als u vragen heeft, waarom zou u deze aanpak dan nodig hebben?
‫Nou, ze worden alleen gebruikt als je geen extra logica nodig hebt in de property-accessors, dus.
‫En de eigenschapsdefinities en.
‫Ja.
‫Getters en setters.