Als «type-casting» getaggte Fragen

Konvertieren einer Variablen von einem Typ in einen anderen


10
Ist es in Ordnung, Objekte zu haben, die sich selbst umwandeln, selbst wenn dadurch die API ihrer Unterklassen verschmutzt wird?
Ich habe eine Basisklasse Base. Es hat zwei Unterklassen Sub1und Sub2. Jede Unterklasse verfügt über einige zusätzliche Methoden. Zum Beispiel Sub1hat Sandwich makeASandwich(Ingredients... ingredients)und Sub2hat boolean contactAliens(Frequency onFrequency). Da diese Methoden unterschiedliche Parameter verwenden und völlig unterschiedliche Aufgaben ausführen, sind sie vollständig inkompatibel, und ich kann nicht einfach den Polymorphismus …

5
Ist meine Verwendung eines expliziten Casting-Operators sinnvoll oder ein schlechter Hack?
Ich habe ein großes Objekt: class BigObject{ public int Id {get;set;} public string FieldA {get;set;} // ... public string FieldZ {get;set;} } und ein spezialisiertes, DTO-ähnliches Objekt: class SmallObject{ public int Id {get;set;} public EnumType Type {get;set;} public string FieldC {get;set;} public string FieldN {get;set;} } Ich persönlich finde ein …


4
Was soll Casting bedeuten?
Wenn Sie in einfachen Sprachen wie CI codieren, bedeutet Casting manchmal "interpretieren Sie diese Bytes neu, als ob es immer von einem anderen Typ gewesen wäre" und zu anderen Zeiten "konvertieren Sie diesen Wert intelligent in diesen anderen Typ". Was ist die ursprüngliche Bedeutung des Wortes und gibt es eine …

6
Wie vermeide ich Downcasting?
Meine Frage betrifft einen Sonderfall der Superklasse Animal. Meine AnimalDose moveForward()und eat(). Sealerstreckt Animal. Dogerstreckt Animal. Und es gibt ein besonderes Wesen , das auch erstreckt Animalgenannt Human. Humanimplementiert auch eine Methode speak()(nicht implementiert von Animal). In einer Implementierung einer abstrakten Methode, die akzeptiert, Animalmöchte ich die speak()Methode verwenden. Das …

3
Ist es eine gute Praxis, Unterdrückungswarnungen in Ihrem Code zu verwenden?
Ich verwende @SuppressWarnings("unchecked")und @SuppressWarnings("null")meistens die oben genannten Methoden, um den Code ohne Warnungen kompilieren zu lassen, aber ich habe meine Zweifel. Ich habe diese Stackoverflow- Frage gefunden . Jon Skeet hat eine Antwort darauf geschrieben, die mich fasziniert. Laut ihm, Manchmal lassen Sie Java-Generika einfach nicht tun, was Sie wollen, …


4
OOD: Java-Vererbung und Zugriff auf untergeordnete Methoden über Casting
Ich habe mehrere Klassen Parentund Child1... Child9in Java implementiert. Parentist eine abstrakte Klasse, die alle allgemeinen Variablen der untergeordneten Klassen enthält (viel, was der Hauptgrund ist, warum ich Parenteine abstrakte Klasse und keine Schnittstelle erstellt habe), einige abstrakte und einige implementierte Methoden. Einige der untergeordneten Klassen verfügen über benutzerdefinierte Methoden, …

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.