Prymitywna obsesja w Twoim projekcie | VLOG

Поділитися
Вставка
  • Опубліковано 30 січ 2025

КОМЕНТАРІ • 11

  • @antonimarczuk5175
    @antonimarczuk5175 Рік тому +1

    Dzięki za podpowiedź. Samemu nigdy o tym nie pomyślałem :D

  • @ZawistowskiKamil
    @ZawistowskiKamil Рік тому

    Gut idea , wszystko jest obiektem

  • @dominiktworek6455
    @dominiktworek6455 Рік тому

    Siema, wstrzeliles sie swietnie z tym filmem, jeden chyba z bardziej wartosciowych jakie ogladalem w ostatnim czasie. Ostatnio rozwiązuje sobie zadania z advent of code, czasami musze tam stworzyc calkiem sporo loopow i zmiennych. Zaczelem wlasnie robic tak jak poleciles w tym filmie, opakowywac wszystko w klasy. Meeega mi to pomoglo w ogarnieciu tego co sie dzieje. Kod sie staje duzo bardziej czytelniejszy i tym bardziej zaglembiam sie w ten swiat tym bardziej uwazam ze clean code to jedna z wazniejszych rzeczy.
    Mam takie pytanie odnoscie takich malutkich wrapperow. Otoz jak sie uczylem o klasach to powiedziano mi ze pola w klasach powinny zawsze byc prywatne a do wyciagania danych i ich zmiennniania powinnienem uzywac getterow i setterw. Czy w przypadku takich ultra malych klas stworzenie publicznego pola bedzie zbrodnia?

  • @AntoniMarczuk
    @AntoniMarczuk 5 місяців тому

    Powróciłem do tego filmu po jakimś czasie i przyszło mi do głowy pytanie. Czy nie lepiej takie pojedyncze prymitywy obudować w strukturę? Wtedy pozostaje to typem bezpośrednim na stosie i może to chyba podnieść wydajność?

  • @jurekgagarin523
    @jurekgagarin523 Рік тому +1

    String nie jest typem prymitywnym :P

    • @zajacmarek
      @zajacmarek  Рік тому

      Jest zaliczany do typów prymitywnych, ale nie prostych

    • @jurekgagarin523
      @jurekgagarin523 Рік тому

      ​@@zajacmarek​ Jesteś pewien? W C# wykonując funkcję typeof(string).IsPrimitive otrzymamy false.

    • @zajacmarek
      @zajacmarek  Рік тому

      Bo technicznie jest złożony z tablicy znaków i w C# mogli go sobie w ten sposób potraktować. Ale tutaj w omawianym problemie nie mówię o żadnej konkretnej implementacji w konkretnym języku programowania. Na poziomie technicznym faktycznie String nie jest prymitywem, bo procesor nie ma takiego typu. Ale z logicznego punktu widzenia i z punktu widzenia struktury naszego kodu string jest prymitywny, bo sam w sobie nie przenosi żadnej informacji o tym jakie konkretnie dane w nim trzymamy, tylko jest budulcem innych, konkretnych typów.

    • @zajacmarek
      @zajacmarek  Рік тому

      A property IsPrimitive można nadpisać jak coś ;)

    • @dominiktworek6455
      @dominiktworek6455 Рік тому

      Hej, ale cala idea tego ze uwaza sie Stringa za primitive value wychodzi z tego prostego przykładu:
      String test = "test";
      String test2 = test;
      test = "non primitive";
      System.out.println(test2);
      OUTPUT: test
      Jesli String nie byl by prymitywny to output bylby "non primitive".
      W przypadku "refference variables" w zmiennej zapisujemy nie sama wartosc a address zmiennej.
      Wiec przypisujac do nowej zmiennej adres z innej tak naprawde mamy ten sam obiekt zapisany w 2 zmiennych i zmieniajac jedna zmienna wplywamy rowniez na druga.
      W przypadku Stringa test i test2 to 2 rozne obiekty z 2 roznymi wartosciami mimo ze sa equal.
      Co prawda podalem przyklad z Javy ale w C# jest tak samo w tym przypadku.
      Z ciekawosci dodam ze w javie istnieja tez takie typy jak Integer czy Character i dzialaja na podobnej zasadzie jak String i mozemy dzieki temu uzywac ich w listach i innych generycznych strukturach.