-
Notifications
You must be signed in to change notification settings - Fork 2
Tag 06: OOP
Objekte bestehen aus Gemeinsamkeiten, wie z.B. ein Buch. Alle Bücher haben ein Cover, einen Titel, einen Autor, eine ISBN usw.
Mit diesen Informationen können wir "Objekte"(Class) erstellen.
Für ein Buch erstellen wir z.B. die Klasse "Book". und die Eigenschaften des Buches
public class Book {
private String cover;
private String title;
private String author;
private int pageCount;
private String isbn;
private String publisher;
private double price;
In der Main Class erstellen wir eine Variable, um unsere Datenbank "Book" mit Informationen zu füllen. und eine Variable, um ein neues Book zu erstellen.
public class Main {
public static void main(String[] args) {
Book abdulsBook = new Book();
abdulsBook.setCover("Gebäude");
abdulsBook.setAuthor("Elisabeth Jung");
abdulsBook.setTitle("Java Übungsbuch");
Da die Eigenschaften des Buches "Private" sind, benötigen wir in der Klasse "Book"
eine Get- und eine Set-Methode (Getter und Setter) wenn wir z.B. "title" in die Datenbank bekommen und auch wieder ausgeben wollen. Dazu brauchen wir folgende zwei Methoden
}
public String getTitle() {
return title;
}
}
public void setTitle(String title) {
his.title = title;
}
Kann aus der Variable,
Book noMansBook = new Book();
Die Parameter in der () werden direkt übernommen und müssen nicht extra über eine set-Methode aufgerufen werden.
Book noMansBook = new Book("Pumukl","12314","Haus");
Pumuckl ist hier titel >> 12314 ist isbn >> Haus ist cover
ist in der Klasse "Book" und wird wie folgt erstellt.
private String titel; //Parameter
private int isbn;
// Default constructor. //Konstruktor ohne Parameter
public Book() {
}
public Person(String titel, int isbn) { //Konstruktor mit Parameter
this.titel = titel;
this.isbn = isbn;
}
Mit einem Rechtsklick in der Klasse "Book" kann ein toString erzeugt werden.
Der toString formatiert dann für ein System.out.println(); die Werte wie Titel, ISBN etc. wie z.B.
@Override
public String toString() {
return "Book{" +
"titel='" + id + '\'' +
", isbn='+ '\'' +
'}';
}
kann einfach auf die gleiche Weise erzeugt werden wie ein toString und sieht dann wie folgt aus
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof Student student)) return false;
if (getId() != null ? !getId().equals(student.getId()) : student.getId() != null) return false;
return getName() != null ? getName().equals(student.getName()) : student.getName() == null;
}
@Override
public int hashCode() {
int result = getId() != null ? getId().hashCode() : 0;
result = 31 * result + (getName() != null ? getName().hashCode() : 0);
return result;
}