Die Klasse Any

Stand: 16. März 2015

Die Klasse Any ist Basisklasse (Wurzel) einer jeden Klasse in Scala. Jede Klasse erbt entweder direkt oder über die Vaterklasse die Funktionen der Klasse Any. Folgende Funktionen sind in der Klasse Any definiert und stehen in allen Objekten zur Verfügung.

abstract def getClass(): Class[_]
 
final def !=(arg0: Any): Boolean
 
final def ##(): Int
 
final def ==(arg0: Any): Boolean
 
final def asInstanceOf[T0]: T0
 
def equals(arg0: Any): Boolean
 
def hashCode(): Int
 
final def isInstanceOf[T0]: Boolean
 
def toString(): String



final def isInstanceOf[T0]: Boolean


Die Funktion isInstanceOf[T0] überprüft, ob das zugehörige Objekt einen bestimmten Typ zugehörig ist. Ist das überprüfte Objekt direkt Instanz der Klasse, Instanz einer Klasse, welche von der Prüfinstanz abgeleitet ist, oder die Instanz implementiert das entsprechende trait, so liefert isInstanceOf true andernfalls false.

Nachfolgend ein Beispielprogramm zum Einsatz von isInstanceOf.

object TheIsInstanceOf {
  def main(args: Array[String]): Unit = {
    val a = new A()
    val b = new B()
  
    println("1: "+a.isInstanceOf[A])
    println("2: "+a.isInstanceOf[B])
    println("3: "+a.isInstanceOf[C])
    println("4: "+b.isInstanceOf[A])
    println("5: "+b.isInstanceOf[B])
    println("6: "+b.isInstanceOf[C])
  
  }
}
  
class A
class B extends A with C
trait C
itmapa.de - X2H V 0.24

Die Ausführung des Programmes führt zu folgender Ausgabe auf der Systemausgabe:

1: true
2: false
3: false
4: true
5: true
6: true
itmapa.de - X2H V 0.24