Als «abstract» getaggte Fragen

abstract ist ein Schlüsselwort, das von einer Vielzahl objektorientierter Programmiersprachen geteilt wird. Methoden und Klassen können als abstrakt markiert werden, um anzuzeigen, dass sie nicht die vollständige Implementierung der Anwendungslogik enthalten und erweitert werden müssen. Abstrakte Klassen können nicht instanziiert werden und dienen dem Zweck, eine einheitliche Schnittstelle für ihre Unterklassen bereitzustellen sowie allgemeine Methoden zu implementieren, die nicht für jede Unterklasse neu implementiert werden müssen.


16
Können wir eine abstrakte Klasse instanziieren?
Während eines meiner Interviews wurde ich gefragt: "Können wir eine abstrakte Klasse instanziieren?" Meine Antwort war "Nein, wir können nicht". Aber der Interviewer sagte mir: "Falsch, wir können." Ich habe ein bisschen darüber gestritten. Dann sagte er mir, ich solle es selbst zu Hause versuchen. abstract class my { public …
573 java  oop  class  object  abstract 


9
Java abstrakte Schnittstelle
Betrachten Sie ein Beispiel (das in Java kompiliert wird) public abstract interface Interface { public void interfacing(); public abstract boolean interfacing(boolean really); } Warum muss eine Schnittstelle abstrakt "deklariert" werden? Gibt es andere Regeln, die für eine abstrakte Schnittstelle gelten? Endlich: Wenn abstractes veraltet ist, warum ist es in Java …
197 java  interface  abstract 

3
Wie kann ich durch Reflexion feststellen, ob eine Java-Klasse abstrakt ist?
Ich interagiere durch Klassen in einer Jar-Datei und möchte diejenigen finden, die nicht abstrakt sind. Ich kann dies lösen, indem ich die Klassen instanziiere und InstantiationException abfange, aber das hat einen Leistungseinbruch, da einige Klassen einen starken Start haben. Ich kann in den Class.java-Dokumenten offensichtlich nichts wie isAbstract () finden.
183 java  class  abstract 

8
Datenklasse in Kotlin erweitern
Datenklassen scheinen der Ersatz für die altmodischen POJOs in Java zu sein. Es ist durchaus zu erwarten, dass diese Klassen eine Vererbung ermöglichen, aber ich sehe keine bequeme Möglichkeit, eine Datenklasse zu erweitern. Was ich brauche ist so etwas: open data class Resource (var id: Long = 0, var location: …

4
Warum sollte man eine Java-Schnittstellenmethode als abstrakt deklarieren?
Ich habe heute die Refactoring-Funktion "Pull-Schnittstelle" von Eclipse verwendet, um eine Schnittstelle basierend auf einer vorhandenen Klasse zu erstellen. Das Dialogfeld bot an, alle neuen Methoden der neuen Schnittstelle als "abstrakte" Methoden zu erstellen. Was wäre der Vorteil davon? Ich dachte, dass die Tatsache, dass Sie Schnittstellenmethoden als abstrakt deklarieren …

8
Warum verbietet PHP 5.2+ abstrakte statische Klassenmethoden?
Nachdem ich in PHP 5.2 strenge Warnungen aktiviert hatte, sah ich eine Menge strenger Standardwarnungen aus einem Projekt, das ursprünglich ohne strenge Warnungen geschrieben wurde: Strenge Standards : Statische Funktion Programm :: getSelectSQL () sollte nicht abstrakt sein in Program.class.inc Die betreffende Funktion gehört zu einem abstrakten übergeordneten Klassenprogramm und …
121 php  oop  static  abstract 



6
Warum werden C # -Schnittstellenmethoden nicht als abstrakt oder virtuell deklariert?
C # -Methoden in Schnittstellen werden ohne Verwendung des virtualSchlüsselworts deklariert und in der abgeleiteten Klasse ohne Verwendung des overrideSchlüsselworts überschrieben . Gibt es einen Grund dafür? Ich gehe davon aus, dass dies nur eine Annehmlichkeit für die Sprache ist, und offensichtlich weiß die CLR, wie man dies unter dem …

5
Warum nicht abstrakte Felder?
Warum können Java-Klassen keine abstrakten Felder haben, wie sie abstrakte Methoden haben können? Zum Beispiel: Ich habe zwei Klassen, die dieselbe abstrakte Basisklasse erweitern. Diese beiden Klassen haben jeweils eine identische Methode, mit Ausnahme einer String-Konstante, die zufällig eine Fehlermeldung enthält. Wenn Felder abstrakt sein könnten, könnte ich diese Konstante …
99 java  methods  field  abstract 


7
Abstraktes Attribut (keine Eigenschaft)?
Was ist die beste Vorgehensweise, um ein abstraktes Instanzattribut zu definieren, jedoch nicht als Eigenschaft? Ich möchte etwas schreiben wie: class AbstractFoo(metaclass=ABCMeta): @property @abstractmethod def bar(self): pass class Foo(AbstractFoo): def __init__(self): self.bar = 3 Anstatt: class Foo(AbstractFoo): def __init__(self): self._bar = 3 @property def bar(self): return self._bar @bar.setter def setbar(self, …
78 python  abstract 

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.