Tworzenie instancji to proces tworzenia obiektów z klasy w większości języków obiektowych i obiektowych. W języku C ++ tworzenie instancji to proces tworzenia klasy lub funkcji na podstawie szablonu klasy lub szablonu funkcji.
Ze względu na implementację generycznych Java, nie możesz mieć takiego kodu: public class GenSet<E> { private E a[]; public GenSet() { a = new E[INITIAL_ARRAY_LENGTH]; // error: generic array creation } } Jak mogę to zaimplementować, zachowując bezpieczeństwo typu? Na forach Java zobaczyłem takie rozwiązanie: import java.lang.reflect.Array; class Stack<T> { …
Niedawno w porównaniu z przetwarzaniem prędkości []i list()i była zaskoczona, że []pracuje więcej niż trzy razy szybciej niż list(). Pobiegłem ten sam test z {}i dict()a wyniki były praktycznie identyczne: []i {}zarówno trwała około 0.128sec / milion cykli, podczas list()i dict()trwało około 0.428sec / milion cykli każdy. Dlaczego to? Czy …
Czy istnieje sposób utworzenia instancji określonej klasy, biorąc pod uwagę nazwę klasy (dynamiczną) i przekazać parametry do jej konstruktora. Coś jak: Object object = createInstance("mypackage.MyClass","MyAttributeValue"); Gdzie "MyAttributeValue"jest argument do konstruktora MyClass.
Mam plik: Base.h class Base; class DerivedA : public Base; class DerivedB : public Base; /*etc...*/ i inny plik: BaseFactory.h #include "Base.h" class BaseFactory { public: BaseFactory(const string &sClassName){msClassName = sClassName;}; Base * Create() { if(msClassName == "DerivedA") { return new DerivedA(); } else if(msClassName == "DerivedB") { return new …
Mam następującą klasę: class ReportView: NSView { var categoriesPerPage = [[Int]]() var numPages: Int = { return categoriesPerPage.count } } Kompilacja kończy się niepowodzeniem i pojawia się komunikat: Nie można użyć elementu członkowskiego instancji „CategoriesPerPage” z typem „ReportView” Co to znaczy?
Powiedzmy chcę initna UIViewpodklasy z Stringi Int. Jak mam to zrobić w Swift, skoro tylko podklasuję UIView? Jeśli po prostu init()utworzę funkcję niestandardową, ale parametry to String i Int, to mówi mi, że „super.init () nie jest wywoływana przed powrotem z inicjatora”. A jeśli zadzwonię super.init(), powiedziano mi, że muszę …
Jestem programistą C, próbującym zrozumieć C ++. Wiele samouczków demonstruje tworzenie instancji obiektu za pomocą fragmentu kodu, takiego jak: Dog* sparky = new Dog(); co oznacza, że później zrobisz: delete sparky; co ma sens. Teraz, w przypadku, gdy dynamiczna alokacja pamięci nie jest konieczna, czy istnieje jakikolwiek powód, aby użyć …
Mój kolega używa „nowej funkcji ()” z małą literą „f” do definiowania nowych obiektów w JavaScript. Wydaje się, że działa dobrze we wszystkich głównych przeglądarkach, a także wydaje się być dość skuteczny w ukrywaniu zmiennych prywatnych. Oto przykład: var someObj = new function () { var inner = 'some value'; …
Szukałem pytania: Utwórz instancję klasy na podstawie jej nazwy ciągu, która opisuje, jak utworzyć instancję klasy, mając jej nazwę. Czy można to zrobić w Javie? Będę mieć nazwę pakietu i nazwę klasy i muszę mieć możliwość utworzenia obiektu o tej konkretnej nazwie.
Weź następującą klasę jako przykład: class Sometype { int someValue; public Sometype(int someValue) { this.someValue = someValue; } } Następnie chcę utworzyć instancję tego typu za pomocą odbicia: Type t = typeof(Sometype); object o = Activator.CreateInstance(t); Zwykle to zadziała, jednak ponieważ SomeTypenie zdefiniowano konstruktora bez parametrów, wywołanie Activator.CreateInstancewyrzuci wyjątek typu …
Muszę wziąć argument w postaci ciągu znaków i utworzyć obiekt klasy nazwanej w tym ciągu w Pythonie. W Javie użyłbym Class.forName().newInstance(). Czy istnieje odpowiednik w Pythonie? Dzięki za odpowiedzi. Aby odpowiedzieć tym, którzy chcą wiedzieć, co robię: Chcę użyć argumentu wiersza poleceń jako nazwy klasy i utworzyć jej instancję. Właściwie …
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.