Klassen und Objekte

Softwaretechnologie I / Übung I

JAVA I

slides.com/phdd/st1e1/live

Wer sind Sie und warum sollte ich zuhören?

  • Dipl.-Inf. Peter Heisig
  • zehn Jahre Software-Engineering
  • Arbeit in Forschung und Industrie

Was ist diese Veranstaltung nicht?

  • kein Programmierkurs
  • Programmierung/Kodierung ist eine Phase der Softwareentwicklung
  • Modellierung von Softwaresystemen als zweiter Schwerpunkt dieser Veranstaltung

Was wird mir geboten?

  • Grundlagen zu Modellierung und Kodierung von Softwaresystemen
  • Vorbereitung des Softwarepraktikums
  • vielfältiges Lehrangebot
    • Vorlesung durch Prof. Dr. Aßmann
    • wöchentliche Übungen
    • fakultative Übung Objekt-orientierte Softwareentwicklung
    • Java-Lernraum

Was wird von mir erwartet?

  • Aufarbeitung der Vorlesung
  • Vorbereitung der Übungen
  • intensives Selbststudium
  • proaktive Teilnahme
  • Lösung der "Hausaufgaben"

Wo finde ich das Material?

  • https://st.inf.tu-dresden.de
    ⇒ Teaching ⇒ Softwaretechnologie
  • https://inloop.inf.tu-dresden.de
  • https://auditorium.inf.tu-dresden.de
  • Birgit Demuth: Softwaretechnologie für Einsteiger 
    (Pearson 2014)

KlasseN - ModelL und Implementierung

class Library {

  Book[] myBooks;

  int number;

  Library() {/*...*/}

  void register(Book book) {/*...*/}

}
class Book {

  String title;

  Book(String title) {/*...*/}

  String toString() {/*...*/}

}

0..10                     myBooks

Objekte - instanzen von Klassen

0

2

0..10                     myBooks

Aufgabe 1

public class Book {

  private String title;

  public Book(String title) {
    this.title = title;
  }

  public String toString() {
    return title;
  }

}

Klasse Book

Aufgabe 1

public class Library {

  private Book[] myBooks;

  private int number;

  public Library() {
    myBooks = new Book[10];
    number = 0;

    System.out.println("Hello, I am a small library for at most 10 books.");
  }

  public void register(Book book) {
    myBooks[number] = book;
    number += 1;

    System.out.println("A new book is registered: " + book);
  }

}

Klasse Library

Aufgabe 2/3

public class HelloLibrary {

  public static void main(String[] args) {
    // Objekt für Bibliothek instanziieren
    

    // Bücher instanziieren
    
    

    // Bücher in Bibliothek registrieren
    
    
  }

}

Ausführbares Programm

Aufgabe 4

Übersetzen und Ausführen

$ javac Book.java Library.java HelloLibrary.java
$ java -classpath . HelloLibrary

Kontakt

pehei.de

slides.com/phdd

twitter.com/_phdd

Made with Slides.com