From 4dcc60255b72712806b0388a4477649c441a37df Mon Sep 17 00:00:00 2001 From: 3009594 Date: Tue, 1 Oct 2024 00:29:34 +0200 Subject: [PATCH] ChatRom --- .../src/oop/Konstante_Objekte/Person.java | 45 +++++++++++++++++++ .../src/Übungen/MyChat_App/ChatRom.java | 38 ++++++++++++++++ .../src/Übungen/MyChat_App/Main.java | 10 +++++ .../src/Übungen/MyChat_App/Messages.java | 12 +++++ .../src/Übungen/MyChat_App/User.java | 39 ++++++++++++++++ 5 files changed, 144 insertions(+) create mode 100644 Programmierung2/src/oop/Konstante_Objekte/Person.java create mode 100644 Programmierung2/src/Übungen/MyChat_App/ChatRom.java create mode 100644 Programmierung2/src/Übungen/MyChat_App/Main.java create mode 100644 Programmierung2/src/Übungen/MyChat_App/Messages.java create mode 100644 Programmierung2/src/Übungen/MyChat_App/User.java diff --git a/Programmierung2/src/oop/Konstante_Objekte/Person.java b/Programmierung2/src/oop/Konstante_Objekte/Person.java new file mode 100644 index 0000000..549e78f --- /dev/null +++ b/Programmierung2/src/oop/Konstante_Objekte/Person.java @@ -0,0 +1,45 @@ +package oop.Konstante_Objekte; + +/* + * In diesem Beispiel ist die Referenz person konstant, da sie mit final deklariert wurde. + * Du kannst jedoch den Zustand des Objekts, also den Namen, über die Methode setName() ändern. + * Falls du wirklich möchtest, dass sowohl die Referenz als auch der Zustand des Objekts konstant sind, + * musst du sicherstellen, dass alle Felder in der Klasse auch als final deklariert sind und keine mutierbaren Methoden vorhanden sind. + * + */ + +public class Person { + + String name; + + Person(String name) { + this.name = name; + } + + void setName(String name) { + this.name = name; + } + + String getName() { + return name; + } + + public void printname() { + System.out.println(name); + } + + public static void main(String[] args) { + final Person person = new Person("Alice"); + + // Du kannst den Namen ändern + person.setName("Bob"); + System.out.println(person.getName()); // Ausgabe: Bob + + person.printname(); + + // Du kannst die Referenz nicht ändern + // person = new Person("Charlie"); // Compiler-Fehler + } +} + + diff --git a/Programmierung2/src/Übungen/MyChat_App/ChatRom.java b/Programmierung2/src/Übungen/MyChat_App/ChatRom.java new file mode 100644 index 0000000..a0fa5cf --- /dev/null +++ b/Programmierung2/src/Übungen/MyChat_App/ChatRom.java @@ -0,0 +1,38 @@ +package Übungen.MyChat_App; + +import java.util.ArrayList; + +public class ChatRom { + + private ArrayList saveMessagesBetweenUsers; + + ChatRom() { + this.saveMessagesBetweenUsers = new ArrayList<>(); + } + + public void sendeNachricht(User sender, User empfaenger, String message) { + String foramttedNachricht = sender.getName() + " an " + empfaenger.getName() + ": " + message; + saveMessagesBetweenUsers.add(foramttedNachricht); + empfaenger.setMessage(message); + } + + public void zeigeChatHistorie() { + System.out.println("Chatverlauf:"); + for (String message : saveMessagesBetweenUsers) + System.out.println(message); + + } + + public static void main(String[] args) { + User obai = new User("Obai"); + User omar = new User("Omar"); + + ChatRom chatRoom = new ChatRom(); + + chatRoom.sendeNachricht(obai, omar, "Hallo Omar, wie geht es dir?"); + + chatRoom.sendeNachricht(omar, obai, "Mir geht's gut, Obai. Danke!"); + + chatRoom.zeigeChatHistorie(); + } +} diff --git a/Programmierung2/src/Übungen/MyChat_App/Main.java b/Programmierung2/src/Übungen/MyChat_App/Main.java new file mode 100644 index 0000000..5c1a0ff --- /dev/null +++ b/Programmierung2/src/Übungen/MyChat_App/Main.java @@ -0,0 +1,10 @@ +package Übungen.MyChat_App; + +public class Main { + + public static void main(String[] args) { + + + } + +} diff --git a/Programmierung2/src/Übungen/MyChat_App/Messages.java b/Programmierung2/src/Übungen/MyChat_App/Messages.java new file mode 100644 index 0000000..35e9c65 --- /dev/null +++ b/Programmierung2/src/Übungen/MyChat_App/Messages.java @@ -0,0 +1,12 @@ +package Übungen.MyChat_App; + +public class Messages { + ChatRom chatrom; + + Messages (ChatRom chatrom){ + this.chatrom = chatrom; + } + + + +} diff --git a/Programmierung2/src/Übungen/MyChat_App/User.java b/Programmierung2/src/Übungen/MyChat_App/User.java new file mode 100644 index 0000000..6aaf10c --- /dev/null +++ b/Programmierung2/src/Übungen/MyChat_App/User.java @@ -0,0 +1,39 @@ +package Übungen.MyChat_App; + +public class User { + + private final String name; + private String message; + + private final int id; + private static int ID; + + User(String name) { + this.name = name; + this.message = null; + this.id = ID++; + } + + public String getName() { + return name; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + + public int getId() { + return id; + } + + @Override + public String toString() { + return "User [name=" + name + ", id=" + id + "]"; + } + +}