Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Benutzerverwaltung mit Vererbung

Textmenü-basierte Benutzerverwaltung mit Benutzer-, Admin- und Gast-Klassen — entwickelt im Rahmen der Berufsschulausbildung zur Fachinformatikerin Anwendungsentwicklung (LF11).

Projektbeschreibung

Dieses Projekt demonstriert objektorientierte Programmierung mit Vererbung in Java. Es implementiert ein interaktives Verwaltungssystem für drei Benutzertypen (Benutzer, Admin, Gast) mit vollständiger CRUD-Funktionalität und einer persistenten ArrayList-basierte Datenverwaltung.

Funktionsumfang

Hauptfunktionen

Funktion Beschreibung
Benutzerliste anzeigen Alle Benutzer mit Details ausgeben
Benutzer hinzufügen Neue Benutzer/Admin/Gast erstellen
Benutzer löschen Nach E-Mail suchen und entfernen
Benutzer suchen Nach E-Mail suchen und Details anzeigen
Benutzer bearbeiten Name, E-Mail oder Passwort ändern
Anzahl anzeigen Statische Benutzerzahl anzeigen

Benutzertypen

Typ Besonderheiten
Benutzer Basis-Klasse mit Name, E-Mail, Passwort, Aktiv-Status
Admin Extends Benutzer, zusätzliches superAdmin-Flag
Gast Extends Benutzer, zusätzliches Gültigkeits-Flag (Tage)

Eingaben

  • Menü-Auswahl (0-6)
  • Benutzer-Daten: Name, E-Mail, Passwort
  • Admin-Typ: SuperAdmin ja/nein
  • Gast-Gültigkeitsdauer: Anzahl Tage
  • Such- und Bearbeitungsfilter: E-Mail-Adressen

Regeln

  • Benutzer-Anzahl wird automatisch gezählt (statisches Attribut)
  • E-Mail-Vergleiche sind case-insensitive
  • Nur existierende Benutzer können bearbeitet oder gelöscht werden
  • Benutzer-Namen bei Gast: Suffix "_guest" wird automatisch angehängt

Java-Konzepte

Konzept Anwendung im Projekt
Vererbung (extends) Admin und Gast erben von Benutzer
Konstruktor-Überladung Mehrere Konstruktoren pro Klasse
super() Aufrufen von Parent-Konstruktoren
Polymorphismus info()-Methode wird überschrieben
Statische Attribute private static int anzahl für Benutzer-Zähler
Statische Methoden getAnzahl(), benutzerGeloescht()
ArrayList Dynamische Verwaltung der Benutzer
Scanner Interaktive Eingabe von der Konsole
Switch/Case Menü-Navigierung und Funktionsauswahl
While-Schleifen Eingabe-Validierung und Menü-Wiederholungen
String-Vergleiche equalsIgnoreCase() für robuste Eingabe-Behandlung

Klassen

Benutzer.java

  • Basis-Klasse für alle Benutzertypen
  • Verwaltet Benutzerdaten: Name, E-Mail, Passwort, Aktiv-Status
  • Statischer Zähler für Gesamtanzahl der Benutzer
  • Getter/Setter für alle Attribute
  • info()-Methode für Ausgabe

Admin.java

  • Erbt von Benutzer
  • Zusätzliches Attribut: superAdmin (boolean)
  • Überschriebene info()-Methode mit Admin-Status

Gast.java

  • Erbt von Benutzer
  • Zusätzliches Attribut: gueltigBis (Tage)
  • Überschriebene info()-Methode mit Gültigkeitsdaten
  • Gast-Namen werden mit Suffix "_guest" angezeigt

Main.java

  • Einstiegspunkt des Programms
  • Implementiert interaktives Menü-System
  • CRUD-Operationen für Benutzer-Verwaltung
  • Benutzer-Bearbeitung mit Unter-Menü
  • Fehlerbehandlung mit gefunden-Flagge

Ausführen

javac Tag07/Aufgaben/*.java
java Tag07.Aufgaben.Main

Voraussetzungen: Java 8+, die IO-Utility-Klasse muss im gleichen Package vorhanden sein.

Über die Entwicklerin

Dieses Projekt entstand als Übungsaufgabe in der Berufsschule (LF11 - Objektorientierte Programmierung).

Es demonstriert:

  • Sichere Anwendung von Vererbung und Polymorphismus
  • Korrekte Implementierung von Konstruktor-Ketten mit this() und super()
  • Fehlerfreie Schleifenlogik mit korrekten Break- und Continue-Statements
  • Statische Attribute und Methoden für globale Zähler
  • Benutzerfreundliches Menü-System mit Eingabe-Validierung

About

Interaktive Benutzerverwaltung mit Vererbung - Java OOP Lernprojekt (LF11)

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages