![]() |
![]() |
--adrian-- |
![]()
Post
#1
|
Goście ![]() |
Witam
W taki sposob realizuje dziedziczenie w javascripcie:
Niestety w ten sposob przekazywane sa tylko funkcje i zmienne "publiczne". Moje pytanie jest czy da sie w jakis sposob dziedziczyc z klasy bazowej zmienne i metody "prywatne"(tj. w innych jezykach "protected")? z góry dziekuje za wszystkie odpowiedzi |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 98 Pomógł: 33 Dołączył: 10.05.2011 Skąd: Krak Ostrzeżenie: (0%) ![]() ![]() |
Funkcje call/apply to jeden ze sposobów na dziedziczenie w js. Przydaje się w tedy kiedy chcesz wywołać konstruktor klasy nadrzędnej zamiast polegać tylko na prototypie. Obiekty stworzone wten sposób działają szybciej, ale potrzebują trochę więcej pamięci.
Mi najbardziej przeszkadza, to że dala call/apply nie zawsze działa instanceof np.: Kod object instanceof Child; // true object instanceof Parent // false. Przy prototypowaniu trzeba uważać też na pola prywatne, jeśli dziedziczyśz w taki sposób: Kod Child.prototype = new Parent(); wszystkie obiekty Child będą mięć te same wartości pól prywatnych dziedziczonych z Parent, co się nie zdarzy prze drugiej metodzie. Ten post edytował droslaw 10.09.2012, 10:22:00 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 8.10.2025 - 20:55 |