10 Vererbung - Fachbereich Informatik Hochschule Darmstadt

Werbung
Hochschule Darmstadt
Praktikum am 11. Juni 2008
Vererbung
Prof. Dr. Bernhard Humm
Version:
Datum:
Hochschule Darmstadt
Fachbereich Informatik
Schöfferstr. 8b
64295 Darmstadt
1.0
30.5.2008
Einführung in die Programmierung (W)
In diesem Praktikum wird die Bibliotheksanwendung aus den letzten Praktika erweitert. Nehmen Sie dazu
als Basis Ihre Implementierung. Hier ist die Übersicht über alle Erweiterungen. Gehen Sie bitte schrittweise nach den Aufgaben vor.
class Library SS2007
Loan
LibraryApplication
+
+
LibraryApplication()
main() : void
-
borrowedBook: Book
borrower: Person
loanDate: java.util.Date
+
+
+
+
+
+
+
+
+
borrowBook(Person, Book) : Loan
getBorrowedBook() : Book
getBorrower() : Person
getLoanDate() : java.util.Date
Loan(Person, Book, java.util.Date)
setBorrowedBook(Book) : void
setBorrower(Person) : void
setLoanDate(java.util.Date) : void
toString() : String
-borrowedBook
-borrower
Book
Person
~
~
address: String
allPersons: java.util.ArrayList<Person> = new java.util.A...
name: String
registrationNumber: String
+
+
+
+
+
+
+
+
getAddress() : String
getAllPersons() : java.util.ArrayList<Person>
getName() : String
getRegistrationNumber() : String
Person(String, String, String)
setAddress(String) : void
setName(String) : void
toString() : String
Student
-
author: String
bookNumber: String
title: String
+
+
+
+
+
+
+
Book(String, String, String)
getAuthor() : String
getBookNumber() : String
getT itle() : String
setAuthor(String) : void
setTitle(String) : void
toString() : String
Professor
-
course: String
-
department: String
+
+
+
+
getCourse() : String
setCourse(String) : void
Student(String, String, String, String)
toString() : String
+
+
+
+
getDepartment() : String
Professor(String, String, String, String)
setDepartment(String) : void
toString() : String
Seite 1
Einführung in die Programmierung (W)
1
Klasse Professor
•
Implementieren Sie die Klasse Professor extends Person, initial leer
•
Implementieren Sie eine Instanzvariable String department
•
Programmieren Sie die get-Methode
•
Programmieren Sie einen Konstruktor public Professor(String
givenRegistrationNumber, String givenName, String givenAddress,
String givenDeparment), der die entsprechenden Instanzvariablen setzt
Tipp: verwenden Sie den super Konstruktor
•
Testen Sie den Konstruktor in LibraryApplication.main
2
Klasse Student
•
Implementieren Sie die Klasse Student extends Person, initial leer
•
Implementieren Sie eine Instanzvariable String course
•
Programmieren Sie die get-Methode
•
Programmieren Sie einen Konstruktor public Student(String
givenRegistrationNumber, String givenName, String givenAddress,
String givenCourse), der die entsprechenden Instanzvariablen setzt
Tipp: verwenden Sie den super Konstruktor
•
Testen Sie den Konstruktor in LibraryApplication.main
3
Professor.toString
•
Implementieren Sie die Instanzmethode public String toString() der Klasse Professor.
Sie soll einen String der folgenden Form zurückgeben:
Person #<registrationNumber> : <name> (Professor <department>)
Beispiel:
Person #003 : Humm (Professor fbi)
•
Tipps:
Fügen Sie in der toString-Methode von Person den String “Person “ hinzu.
Seite 2
Einführung in die Programmierung (W)
Verwenden Sie die Implementierung von Person.toString durch Aufruf von super.toString()
•
4
Testen Sie die Methode in LibraryApplication.main.
Student.toString
•
Implementieren Sie die Instanzmethode public String toString() der Klasse Student.
Sie soll einen String der folgenden Form zurückgeben:
Person #<registrationNumber> : <name> (Student <course>)
Beispiel:
Person #004 : Fengel (Student MSc fbw)
•
Tipp: Verwenden Sie die Implementierung von Person.toString durch Aufruf von super.toString()
•
5
Testen Sie die Methode in LibraryApplication.main.
Test Polymorphie
•
Deklarieren Sie in LibraryApplication.main drei Variablen person1, person2 und person3 vom Typ Person.
•
Instanziieren Sie person1 als Person
•
Instanziieren Sie person2 als Professor
•
Instanziieren Sie person3 als Student
•
Geben Sie person1.toString(), person2.toString() und person3.toString() auf die
Konsole aus. Was beobachten Sie?
Seite 3
Herunterladen