Skip to content

GiorgosSimos/JavaZooApp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

7 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🦁 Java Zoo App

A simple console-based zoo management system built in Java, designed to demonstrate core Object-Oriented Programming (OOP) principles.

πŸŽ“ Developed as part of an academic assignment during my MSc in Informatics.

🧰 Features

  • Add new animals (Lion, Giraffe, Zebra, Hippo) to the zoo
  • Search animals by name or code
  • Remove animals by code
  • Feed animals (interface-based polymorphic behavior)
  • Save/load animal data using Java serialization

πŸ’‘ Object-Oriented Concepts Demonstrated

  • Abstract Classes & Inheritance: A generic animal abstract class with subclasses (lion, zebra, hippo, giraffe)
  • Interfaces: IFeedAnimal interface implemented differently per animal
  • Encapsulation: Private fields with getters/setters
  • Polymorphism: Overridden toString() and feedAnimal() behavior
  • Serialization: Saving/loading objects via zoo_animals.ser

πŸ”§ Technologies Used

  • Java 17+
  • Java Serialization
  • Console I/O

πŸ“¦ How to Run

  1. Clone the repository
  2. Compile with any Java IDE
  3. Run the SerializationActions class to use the zoo app

πŸ–₯️ Run in Terminal:

  1. Download the zip file
  2. Open a terminal and navigate to the project root directory (JavaZooApp-main).
  3. Compile the Java source files to an out folder and run the SerializationActions class:
javac -d out src/zooProject/*.java
java -cp out zooProject.SerializationActions

About

A zoo management app developed in Java using Object-Oriented-Programming (OOP) principles

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages