Kezdőoldal » Számítástechnika » Programozás » Mikor használjak field-et és...

Mikor használjak field-et és mikor property-t C#?

Figyelt kérdés

Programozást tanulok de a tanárom ott le van ragadva hogy consolappba a main-be írogatunk már év eleje óta, rendkívül unalmas.


Mivel itthon vagyok, magamat szeretném oktatni, Winform-ban csinálok most egy projectet, amihez szükségem van egy int pontszám és egy bool start-ra. De field vagy property?


Field: p - astebin.com/TsqCi1hs

Property: p - astebin.co m/ZPcT0WTb

Vegyétek ki a " - " mert sajnos nem enged linket küldeni az oldal, kénytelen voltam így.



Ha jó a selytésem Property-t kellene használni itt, ugye? Bár Field-el is menne amúgy.


Valaki eltudná akár röviden magyarázni hogy mikor melyiket érdemes használni?


2020. márc. 28. 11:07
1 2
 11/13 anonim ***** válasza:
Félreértetted. Az értékadást ne számítsd bele. Azt számítsd bele, ha értékadás előtt meg kell vizsgálni, hogy az új érték helyes-e.
2020. márc. 28. 20:19
Hasznos számodra ez a válasz?
 12/13 anonim ***** válasza:
A C#-nak ez a property szisztémája igazából egy kényelmesebb változata a Getter/Setter metódusok használatának. Az OOP paradigmában gyakran szükséged van arra, hogy korlátozhasd a hozzáférést egy osztály adott field-jéhez, ellenőrzött körülmények közé akarod szorítani az értékadást, vagy olvasást, akár megtiltani egyiket vagy másikat az osztályodon kívülről. Ez lényegében az enkapszuláció fogalma. A legtöbb nyelvben (C++, Java, stb) ezt úgy csinálod, hogy Getter, illetve Setter metódusokat hozol létre. Pl ha van egy "name" mező az osztályodban, akkor létrehozol egy getName metódust az értékének lekérésére, és egy setName metódust az értékének módosítására, amelyekbe beleírhatod a saját egyedi logikádat ha szükséges. Vagy nem csinálsz Setter metódust, és akkor nem lsz kívülről módosítható a field. Ez az alapvető elmélete a dolognak, és ezt egyszerűsíti le a propertykkel. Igazából a háttérben ugyanolyan getter/setter metódusok kerülnek kigenerálásra, mint más nyelveknél. Szóval ez a property lényege.
2020. márc. 28. 21:36
Hasznos számodra ez a válasz?
 13/13 A kérdező kommentje:

Most jelenleg úgy vagyok hogy inkább property-t csinálok, baj nem lehet belőle max "fölös".


Pl

private int Pontszám { get; set; } = 0;

2020. márc. 28. 22:21
1 2

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!