W Javie istnieją jasne zasady kiedy użyć każdego z modyfikatorów dostępu, czyli domyślne (pakiet prywatny) public, protectedoraz private, jednocześnie class, a interfacei radzenia sobie z dziedziczenia?
Kiedy i dlaczego należy używać public, privateoraz protectedfunkcje i zmienne wewnątrz klasy? Jaka jest różnica między nimi? Przykłady: // Public public $variable; public function doSomething() { // ... } // Private private $variable; private function doSomething() { // ... } // Protected protected $variable; protected function doSomething() { // ... …
Pochodzę ze świata Java i czytam Bruce'a Eckelsa Wzory, przepisy i idiomy języku Python 3 . Podczas czytania o klasach mówi się dalej, że w Pythonie nie ma potrzeby deklarowania zmiennych instancji. Po prostu używasz ich w konstruktorze i bum, są tam. Na przykład: class Simple: def __init__(self, s): print("inside …
Mam źle zaprojektowaną klasę w JARfirmie zewnętrznej i muszę uzyskać dostęp do jednego z jej prywatnych pól. Na przykład, dlaczego powinienem wybrać pole prywatne, czy jest to konieczne? class IWasDesignedPoorly { private Hashtable stuffIWant; } IWasDesignedPoorly obj = ...; Jak mogę użyć odbicia, aby uzyskać wartość stuffIWant?
Buduję bibliotekę klas, która będzie miała kilka publicznych i prywatnych metod. Chcę mieć możliwość testowania jednostkowego metod prywatnych (głównie podczas opracowywania, ale może to również być przydatne do przyszłego refaktoryzacji). Jaki jest właściwy sposób to zrobić?
Mam zajęcia z private static finalpolem, które niestety muszę zmienić w czasie wykonywania. Za pomocą odbicia otrzymuję ten błąd: java.lang.IllegalAccessException: Can not set static final boolean field Czy jest jakiś sposób na zmianę wartości? Field hack = WarpTransform2D.class.getDeclaredField("USE_HACK"); hack.setAccessible(true); hack.set(null, true);
W Javie jaka jest różnica między: private final static int NUMBER = 10; i private final int NUMBER = 10; Oba są privatei final, różnica jest staticatrybutem. Co lepsze? I dlaczego?
Ktoś dał mi dostęp do jednego z ich prywatnych repozytoriów na Github. Chcę rozwidlić ten projekt na własne konto, aby móc skorzystać z funkcji żądania ściągania Github. Mam tylko podstawowe konto na Github, więc nie mogę tworzyć prywatnych repozytoriów na własną rękę, ale jeśli rozwidlę prywatne repozytorium innej osoby na …
To pytanie do wywiadu. Czy podklasy dziedziczą pola prywatne? Odpowiedziałem „Nie”, ponieważ nie możemy uzyskać do nich dostępu w „normalny sposób OOP”. Jednak ankieter uważa, że są one dziedziczone, ponieważ możemy uzyskać dostęp do takich pól pośrednio lub za pomocą odbicia i nadal istnieją w obiekcie. Po powrocie znalazłem w …
Według http://www.faqs.org/docs/diveintopython/fileinfo_private.html : Podobnie jak większość języków, Python ma pojęcie elementów prywatnych: Funkcje prywatne, których nie można wywołać spoza modułu Jeśli jednak zdefiniuję dwa pliki: #a.py __num=1 i: #b.py import a print a.__num po uruchomieniu b.pydrukuje się 1bez żadnego wyjątku. Czy diveintopython jest zły, czy coś źle zrozumiałem? A czy …
Mam prywatne repozytorium w Github dla projektu, nad którym pracuję. Do tej pory pracowałem tylko na domowym pulpicie, ale właśnie kupiłem laptopa i próbuję go skonfigurować, aby móc pracować nad projektem z dowolnego komputera i zmieniać zmiany w trybie push / pull. Dodałem nowy klucz SSH do mojego konta Github …
Zauważyłem, że klasy zewnętrzne mogą uzyskać dostęp do prywatnych zmiennych instancji klas wewnętrznych. Jak to jest możliwe? Oto przykładowy kod demonstrujący to samo: class ABC{ class XYZ{ private int x=10; } public static void main(String... args){ ABC.XYZ xx = new ABC().new XYZ(); System.out.println("Hello :: "+xx.x); ///Why is this allowed?? } …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.