260 likes | 357 Views
Kap 05 Abstrakte datastrukturer. Arv - Implementering Interface / Abstrakte klasser / Konkrete klasser. extends. Interface. Interface. implements. Interface. Abstract class. implements. Interface. Concrete class. extends. Abstract class. Concrete class. extends. Concrete class.
E N D
Arv - ImplementeringInterface / Abstrakte klasser / Konkrete klasser extends Interface Interface implements Interface Abstract class implements Interface Concrete class extends Abstract class Concrete class extends Concrete class Concrete class
Klassehierarki I_Comparable A_Object Wrappers I_Container A_Container StackAsArray StackAsLinkedList I_Stack I_Queue QueueAsArray QueueAsLinkedList A_Graph GraphAsMatrix GraphAsLists I_Graph I_Tree A_Tree GeneralTree I_SearchTree BinaryTree BinarySearchTree A_SearchableContainer I_SearchableContainer OrderedListAsArray OrderedListAsLinkedList I_OrderedList SortedListAsArray SortedListAsLinkedList I_SortedList A_HashTable ChainedHashTable I_HashTable I_Set A_Set SetAsArray
Klassehierarki - Abstrakte datastrukturer Interface Abstract class Wrapper class A_Object Int I_Comparable Dbl I_Container A_Container Chr A_SearchableContainer I_SearchableContainer Str I_Visitor A_Visitor I_Enumeration I_Iterator
Arv - Klassehierarki Enhver Java-klasse X (inkludert array’er) vil alltid være arvet (direkte eller indirekte) fra en klasse kalt Object. Object Object X A X
Klassen Object Litt av innholdet i klassen Object: public class Object { public Object( ); // creates a default object protected Object clone( ); // object cloning protected void finalize( ); // destroying object public boolean equals (Object obj); // equal if ref to the same object public final Class getClass ( ); // runtime class descript for the object public int hashCode ( ); // calculates a hash code for the obj public void notify( ); // wakes up a single waiting thread public void noifyAll( ); // wakes up all waiting threads public String toString ( ); // string representation of the object public final void wait( ); // causes the current thread to wait public final void wait(long timeout); // waiting in milliseconds public final void wait(long timeout, int nanos) // waiting for nanoseconds }
Interface I_Comparable Interface I_Comparable som inneholder sammenligningsmetoder:
Abstract (1/4)A_Object Abstract A_Object som implementerer I_Comparable
Abstract (2/4)A_Object Abstract A_Object som implementerer I_Comparable
Abstract A_Object (3/4) Implementering av compareog innføring av abstract compareTo
Abstract A_Object (4/4) Implementering av clone
Wrapper classes Original class Wrapper class Wrapper classes: W_Chr : Character W_Str : String W_Int : Integer W_Dbl : Double
Wrappers A_Object Int I_Comparable Dbl Chr Str
Interface I_Container Interface I_Container som inneholder andre objekter:
AbstractA_Container (1/2) Abstract class A_Container som implementerer I_Container:
AbstractA_Container (2/2) Abstract class A_Container som implementerer I_Container:
Interface I_Visitor Interface I_Visitor som benyttes til traversering av objekter:
Abstrakt klasse A_Visitor Abstrakt klasse A_Visitor som implementerer I_Visotor:
Interface I_Enumeration Interface I_Enumeration som benyttes til traversering av objekter:
Interface I_Iterator Interface I_Iterator som benyttes til traversering av objekter:
Interface I_SearchableContainer Interface I_SearchableContainer som gir søkemuligheter: