• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Pola prywatne a własności

Object Storage Arubacloud
0 głosów
353 wizyt
pytanie zadane 29 grudnia 2019 w C# przez assassin Gaduła (3,260 p.)

Czytałem gdzieś o własnościach, albo właściwościach w C#.

Nasunęło mnie się pytanie. Jeśli w zadaniu na kolokwium mam za zadanie stworzyć klasę z prywatnymi polami to czy zamiast private mogę stworzyć publiczną własność?

 

W internetach natknąłem się na informacje. Publiczna własność

public string imie {get; set;}

działa tak, że tworzy pole prywatne i ustawia wartość. 

 

Więc zastanawiam się czy pisząc kod i zamiast pola prywatnego, użyję właśnie takiej własności, czy wykładowca powinien uznać taki kod?

2 odpowiedzi

+1 głos
odpowiedź 29 grudnia 2019 przez Dorion300 Szeryf (90,250 p.)
Za zadanie masz stworzyć prywatne pole a nie publiczną właściwość. (https://docs.microsoft.com/pl-pl/dotnet/csharp/programming-guide/classes-and-structs/fields)

Choć stworzyłeś prywatne pole (a dokładnie nie ty, a kompilator) to jednak dostęp do niej jest publiczny co jest w samo sobie bezcelowe. (ma to zastosowanie jeśli chcesz potem właściwość rozbudować, np. o kod sprawdzający itp.)

Masz za zadanie zrobić prywatne pole -> stwórz prywatne pole.

Można cudować i tworzyć na siłę jakieś skomplikowane kody ale i tak będzie sprawdzane pod kątem samego zadania, a to jak wykładowca sprawdzi to od niego głównie zależy.
komentarz 29 grudnia 2019 przez assassin Gaduła (3,260 p.)
Dziękuję bardzo za odpowiedź.
0 głosów
odpowiedź 29 grudnia 2019 przez draghan VIP (106,230 p.)

Jeśli dałbym komuś na kolokwium zadanie o treści:

stworzyć klasę z prywatnymi polami

to nie uznałbym odpowiedzi:

public class Foo
{
    public string imie {get; set;}
}

Pomimo tego, że technicznie rzecz ujmując - rzeczywiście przy użyciu automatycznej własności tworzone jest tzw. "backing field", czyli właśnie prywatne pole dla właściwości imie, to funkcjonalnie ten kod daje innym swobodny dostęp do zawartości takiego pola - zarówno do odczytu jak i zapisu. Przy stworzeniu prywatnego pola - nie dajemy takiej możliwości. To właśnie ta funkcjonalna różnica jest tutaj kluczowa.

komentarz 29 grudnia 2019 przez assassin Gaduła (3,260 p.)
Dziękuję bardzo za odpowiedź :)

Podobne pytania

0 głosów
0 odpowiedzi 186 wizyt
pytanie zadane 8 grudnia 2017 w C i C++ przez neefiq Nowicjusz (120 p.)
0 głosów
1 odpowiedź 139 wizyt
pytanie zadane 29 kwietnia 2017 w C i C++ przez sapala94 Początkujący (320 p.)
+2 głosów
1 odpowiedź 2,703 wizyt
pytanie zadane 8 kwietnia 2017 w Java przez itcloud Gaduła (3,380 p.)

92,605 zapytań

141,451 odpowiedzi

319,743 komentarzy

61,985 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...