-
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-16 Nowa ustawa o ochronie praw autorskich - opis problemu i szkic ustawy
- 2025-03-16 Nowa ustawa o ochronie praw autorskich - opis problemu i szkic ustawy
- 2025-03-16 Najlepszy akumulator 12V
- 2025-03-16 Co powinno spotkać "adwokatów dwóch" uczestniczących w przesłuchaniu świadka do którego nie dopuszczono adwokata świadka?
- 2025-03-16 Przednich p-mgielnych nie wolno bez mgły
- 2025-03-16 Co w KANADZIE wolno komercyjnie (na razie się nie czepili?)
- 2025-03-16 silnik-chwilówka
- 2025-03-16 Prokurator Wrzosek "Bezstronna" nie przyczynia się do śmierci (dowodnie) - oświadcza bodnatura [Dwie Kacze Wieże]
- 2025-03-15 kraje nieprzyjazne samochodom
- 2025-03-15 parking Auchan
- 2025-03-15 Art. 19.1 ustawy o ochronie praw autorskich
- 2025-03-15 przegląd za mną
- 2025-03-15 Na co komu okna
- 2025-03-15 Mój elektryk
- 2025-03-15 Fejk muzyczny czy nie fejk