ArticlesProjectsWeeklyCredentialsAbout

Java OOP Design Examples (1997)

A Shape class hierarchy, a Device entity with factory pattern, and an interface-based plugin system — the OOP fundamentals applied in real Motorola NMS code from 1997.

javaoopsoftware-engineering

Inheritance, interfaces, and factories — applied to real network management objects, not toy examples.

Source code
# Java OOP Examples (1997)

Code from the article [Java and Object-Oriented Programming: Getting It Right From the Start](https://rishisharma.in/articles/java-oop-late-90s).

Requires Java 1.1.

```sh
mkdir -p build
find src -name '*.java' | xargs javac -d build
java -cp build com.motorola.nms.oop.DeviceFactoryDemo
```

## Contents

- `src/com/motorola/nms/oop/Device.java` — abstract base class with template method
- `src/com/motorola/nms/oop/Router.java` — concrete subclass: router device
- `src/com/motorola/nms/oop/Switch.java` — concrete subclass: network switch
- `src/com/motorola/nms/oop/DeviceFactory.java` — factory method pattern for device creation
- `src/com/motorola/nms/oop/Monitorable.java` — interface for anything that can return health status
- `src/com/motorola/nms/oop/DeviceFactoryDemo.java` — main: creates devices via factory, calls polymorphic methods