-
Data: 2011-02-17 10:49:10
Temat: Re: Android mały myk
Od: Andrzej Jarzabek <a...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On Feb 17, 9:17 am, "Wojciech \"Spook\" Sura" <spook"mad@hatter"op.pl>
wrote:
> Dnia 10-02-2011 o 16:40:43 Michoo <m...@v...pl> napisał(a):
>
> > W javie natomiast obiekty technicznie rzecz biorąc są referencjami ale
> > praktycznie (przez połączenie przez braku operatora przypisania obiektu,
> > i projektu biblioteki standardowej (np wszystkie operacje na stringu
> > tworzą nowy obiekt a nie modyfikują istniejącego)) mają semantykę
> > wartości. Żeby mieć semantykę referencji trzeba zawinąć obiekt w inny
> > obiekt pozwalający modyfikować swoje wnętrze przez metody.
>
> Ok, ale rozumiem, że instancje klas są przekazywane przez referencję?
Jest tak: wartości i obiekty to osobne kategorie bytów. Pola klas,
zmienne, parametry funkcji to wartości. Obiekty natomiast żyją sobie
na stercie jako instancje klas. Ponieważ zmienne i parametry są
wartościami, operator przypisania też dotyczy tylko wartości. Obiekty
moga co najwyżej być powielane metodą kopiującą.
Jedną z klas typów wartości są referencje na obiekty, które zachowują
się w sposób spójny z innymi wartościami. W szczególności przypisanie
wartości referencji do zmiennej powoduje, że zmienna ta zawiera
(kolejną) referencję do tego samego obiektu.
Jeśli masz coś takiego:
int f(A a) {
a=cośtam();
...
}
...
A x;
...
f(x);
to semantyka jest taka, że funkcja f przyjmuje przez wartość parametr
typu referencja do A, który jest traktowany jako lokalna zmienna a
zawierająca kopię wartości referencji przekazanej przez wywołującego.
Przy wywołaniu f(x) wartość referencji x zostaje skopiowana do A,
czyli są w tym momencie (przynajmniej) dwie referencje do tego samego
obiektu, w momencie, kiedy w f następuje przypisanie a=cośtam()
lokalna zmienna a przestaje być referencją do tego samego obiektu co
x, a przyjmuje nową wartość, zwróconą przez wyrażenie cośtam(); w
kontekście wywołania nie ma to żadnego wpływu na wartość x ani
referowanego przez x obiektu.
Ja osobiście nie widzę żadnego problemu w tym podejściu.
Następne wpisy z tego wątku
Najnowsze wątki z tej grupy
- Nowa ustawa o ochronie praw autorskich - opis problemu i szkic ustawy
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
Najnowsze wątki
- 2025-03-20 Grubość socketa AM4+procesor
- 2025-03-20 Środa Wielkopolska => Konsultant wewnętrzny SAP FI/CO <=
- 2025-03-20 Warszawa => Senior Programmer C <=
- 2025-03-20 Re: Dlaczego tak odstają od Tesli?
- 2025-03-20 Greenpeace została zobowiązana do zapłaty niemal 667 mln dolarów [USA,wyrok sądu]
- 2025-03-20 Re: Dlaczego tak odstają od Tesli?
- 2025-03-19 Brak ograniczeń dla chińskiego kapitału - wam nie do rządu, tylko na zmywak do chińskiej knajpy!!!
- 2025-03-19 Wietnam wykłada 500M$ i chce zbudować fabrykę za 50G$
- 2025-03-19 szal-Unia == federacja policyjna
- 2025-03-19 Polsza == państwo policyjne
- 2025-03-19 Grzegorz Płaczek o programie szczepień dzieci. ,,Stworzono eldorado dla firm farmaceutycznych"
- 2025-03-19 Wietnam wykłada 500M$ i chce zbudować fabrykę za 50G$
- 2025-03-19 Gemini
- 2025-03-19 Mokry sen Zenka :)
- 2025-03-19 Re: Dlaczego tak odstają od Tesli?