![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 495 Pomógł: 245 Dołączył: 1.07.2009 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Cześć,
mam tu taki przykładzik z artykułu z lipca 2022 i nie rozumiem dlaczego autor podał parametry klasy przy tworzeniu obiektu. W artykule nie ma tego wyjaśnione, natomiast Visual Studio Code mówi mi przy tworzeniu obiektu, że klasa nie ma żadnego konstruktora, więc zostanie wywołana bez parametru. Ok, jasne, ale więc dlaczego podano te parametry? klasa:
Wywołanie:
W ogóle kiedy to sie odpali to wywala błąd: Kod Fatal error: Uncaught TypeError: GermanShepherd::getEyeColor(): Return value must be of type string, null returned in C:\xampp\htdocs\index.php:28 Stack trace: #0 C:\xampp\htdocs\index.php(91): GermanShepherd->getEyeColor() #1 {main} thrown in C:\xampp\htdocs\index.php on line 28
Ten post edytował sadistic_son 12.01.2023, 11:34:03 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 495 Pomógł: 245 Dołączył: 1.07.2009 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
No i teraz jest to dla mnie jasne skąd te parametry i czemu w takiej kolejności:)
Dziękuję. PS. Ileż ja czasu natraciłem i w łeb zachodziłem co robię źle przez wszelkie błędy, literówki i niedopatrzenia w różnych artykułach i książkach (IMG:style_emoticons/default/sad.gif) EDIT: Hej, tak się trochę bawię, celem lepszego zrozumienia konceptu i mam pewną zagwozdkę. Przy tak zbudowanej klasie musze podać $a i $b przy tworzeniu obiektu a konstruktor je sam stworzy. Moge więc tworzyć obiekt w taki sposób: W wyniku dostanę 10 10 20 ($a, $b, $wynik). Ale mogę równierz zupełnie pozbyć się konstruktora, wtedy wywołanie będzie wyglądać jak poniżej, a wynik będzie ten sam:
To czy w takim wypadku konstruktor jest niezbędny? Czy mozna z niego zrezygnować i będzie to zgodne ze sztuką? I pytanie w drugą stronę - czy jeśli mam konstruktor to powinienem robić setter/getter aby było zgodnie ze sztuką. Czy to tylko czysty wybór programisty? Ten post edytował sadistic_son 12.01.2023, 12:07:24 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.10.2025 - 18:07 |