master
3009594 2024-10-01 00:29:34 +02:00
parent e437432c56
commit 4dcc60255b
5 changed files with 144 additions and 0 deletions

View File

@ -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
}
}

View File

@ -0,0 +1,38 @@
package Übungen.MyChat_App;
import java.util.ArrayList;
public class ChatRom {
private ArrayList<String> 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();
}
}

View File

@ -0,0 +1,10 @@
package Übungen.MyChat_App;
public class Main {
public static void main(String[] args) {
}
}

View File

@ -0,0 +1,12 @@
package Übungen.MyChat_App;
public class Messages {
ChatRom chatrom;
Messages (ChatRom chatrom){
this.chatrom = chatrom;
}
}

View File

@ -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 + "]";
}
}