Search Header Logo
OOP - abstrakte Klassen, Interfaces, List, Set, Collection, (Hash)Map

OOP - abstrakte Klassen, Interfaces, List, Set, Collection, (Hash)Map

Assessment

Presentation

Computers

University

Hard

Created by

Tabea Ulm

Used 1+ times

FREE Resource

11 Slides • 4 Questions

1

OOP - Tutorium 6

abstrakte Klassen, Interfaces, List, Set, Collection, (Hash)Map

​Hallo, krankheitsbedingt schaffe ich es heute leider nicht ein Turorium zu OOP abzuhalten. Damit ihr trotzdem nochmal einige Erklärungen zu den Themen diese Woche bekommt, habe ich dieses Quiz erstellt. Zuerst bekommt ihr Multiple Choice Fragen gestellt und anschließend gibt es eine Erklärung, wieso was richtig ist.

​Solltet ihr Fragen zu dem Stoff oder konkreten Beispielen haben, bitte stellt sie mir per Mail:

tabea.ulm@unileoben.ac.at oder tabea.ulm@stud.unieoben.ac.at

​Ich werde mich bemühen sie so schnell wie möglich zu beantworten

2

Multiple Select

Wähle die richtigen Aussagen zu "abstract" aus:

1

In einer abstract-Klasse müssen alle Methoden abstract sein.

2

Eine abstract-Klasse kann abstract-Methoden enthalten

3

In einer nicht-abstrakten Klasse müssen alle Methoden nicht-abstrakt sein

4

Einer nicht-abstrakten Klasse kann abstract-Methoden enthalten

5

Der Konstruktor von einer abstract-Klasse kann abstract oder nicht sein

3

Klassen, die abstract sind, können aus abstrakten und nicht-abstrakten Methoden bestehen (siehe Bsp 1 - OOP A Übungen)!

​ABER: In nicht abstraken Klassen, dürfen abstrakte Metoden nicht vorkommen.

​​

Zu Konstruktoren: Es gibt keine abstrakten Konstruktoren! Wenn also in einer abstrakten Methode ein Konstruktor steht, ist dieser nicht abstrakt (bspw.: Bsp 1 - OOP A Übungen)

​abstract class

4

Multiple Select

Wähle die richtigen Aussagen zu Interfaces aus:

1

Ein Interface ist keine Klasse

2

Eine Klasse kann mehrere Interfaces implementieren

3

Interfaces können andere Interface implementieren

5

​Vereinfachte Erklärung: Interface

​​Interfaces sind ähnlich wie abstrakte Klassen mit 100% abstraken Methoden

​Unterschied: man kann nur von einer abstrakten Klasse erben (extends) ABER man kann mehrere Interfaces implementieren (implements)

6

​Vereinfachte Erklärung: Interface

​Mit einem Interface kann man eine Menge an Methoden angeben, die alle Klassen, die das Interface implementiert haben, auch haben müssen!

​Bsp: Interface Collection<E>

​Das Interface Collection wird zum Beispiel von ArrayList und HashSet implementiert

media

siehe:

https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html

7

​In dem Interface Collection sind beispielsweise die folgenden Methoden definiert:

  • size()

  • ​remove()

  • ​add()

  • ​contains()

Also egal ob man mit einer ArrayList oder einem HashSet arbeitet -> diese Methoden können immer verwendet werden

8

Multiple Select

Wähle die richtigen Aussagen zu Sets aus:

1

Die Reihenfolge in einem Set ist zufällig

2

Jedes Element in einem Set existiert nur einmal

3

Man kann for-each Schleifen für ein Set verwenden

4

In dem Fall, dass man versucht ein Element nochmals hinzuzufügen, bleibt das Set unverändert

9

​Vereinfachte Erklärung Set

​Ein Set ist eine Menge an Elementen - Jedes Element kommt nur einmal vor -> Diese Woche wird vor allem mit HashSets gearbeitet

​Eine Auflistung von allem Methoden, die ihr für Sets / HashSets verwenden könnt, findet ihr in der API:

​https://docs.oracle.com/javase/8/docs/api/java/util/Set.html

​https://docs.oracle.com/javase/7/docs/api/java/util/HashSet.html

​Solltet ihr noch nicht mit der API arbeiten, macht es Sinn für diese Woche öfter dort nachzuschauen -> in späteren Kapiteln wird das immer wichtiger!

10

​Vereinfachte Erklärung: Hash Set

In einem HashSet könnt ihr keine Aussagen über die Reihenfolge treffen

​ABER: Die Reihenfolge ist zwar schwer nachvollziehbar aber nicht willkürlich.

​Man kann Sets deswegen nicht mit einfachen For-Schleifen über den Index durchgehen! -> Jedoch funktionieren for-each Schleifen sehr gut

11

​Beispiele for-each

media
media

12

Multiple Select

Wähle die richtigen Aussagen zu HashMaps aus:

1

Man kann for-each Schleifen für ein HashMap verwenden

2

HashMap hat das Interface Collection implementiert

3

Ein Eintrag in einer HashMap besteht aus einem Schlüssel (Key) und einem dazugehörigen Eintrag (Entry)

4

Jeder Key darf nur einmal in einer HashMap vorkommen

5

Jedes Entry darf nur einmal in einer HashMap vorkommen

13

​Vereinfachte Erklärung HashMap

https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html

media

​Wenn man sich den API-Eintrag zu HashMaps ansieht, sieht man, dass Collection<E> nicht implementiert ist.

​Unter anderen kann man das auch sehen, dass Collection nur ein Element E als Typ hat - Bei einer HashMap braucht man aber zwei Elemente:

K - key

​V - value (entry)

14

​Keys und Values

​Keys:

  • ​Keys können nur einmal in jeder Map vorkommen.

  • ​Jeder Key ist also ein eindeutiger Bezug zu einem dazugehörigen Wert.

  • ​Die Keys werden wie in einem HashSet gespeichert - man kann die Keys also nicht mit Indizes aufrufen.

​Values:

  • ​Values werden einem bestimmten Key zugeordnet.

  • Es können mehrmals die selben Values enthalten sein.

15

​Iterieren über HashMap

​Eine Möglichkeit über eine Map zu iterreieren, ist es die Methode keySet() zu verwenden. Diese gibt die Keys in einem Set zurück. Die dazugehörigen Values können über map.get(key) erhalten werden.

media

OOP - Tutorium 6

abstrakte Klassen, Interfaces, List, Set, Collection, (Hash)Map

​Hallo, krankheitsbedingt schaffe ich es heute leider nicht ein Turorium zu OOP abzuhalten. Damit ihr trotzdem nochmal einige Erklärungen zu den Themen diese Woche bekommt, habe ich dieses Quiz erstellt. Zuerst bekommt ihr Multiple Choice Fragen gestellt und anschließend gibt es eine Erklärung, wieso was richtig ist.

​Solltet ihr Fragen zu dem Stoff oder konkreten Beispielen haben, bitte stellt sie mir per Mail:

tabea.ulm@unileoben.ac.at oder tabea.ulm@stud.unieoben.ac.at

​Ich werde mich bemühen sie so schnell wie möglich zu beantworten

Show answer

Auto Play

Slide 1 / 15

SLIDE