Skip to content

Activity 12: Abstract Classes

Provided Files

UML Class Diagram

How the classes are related at the end of the activity:

classDiagram

    class ToySheep {
        +ToySheep()
        +makeNoise()
    }

    class ToyRobot {
        -chargeLevel : int
        +ToyRobot()
        +getCharge() int
        +recharge()
        +makeNoise()
    }

    class LoudToy {
        <<abstract>>
        -volume : int
        +LoudToy(volume : int)
        +getVolume() int
        +setVolume(volume : int)
        +makeNoise()*
    }

    class Rechargeable {
        <<interface>>
        +MAX_CHARGE : int = 10$
        +getCharge() int*
        +recharge()*
    }

    class CellPhone {
        -chargeLevel : int
        -volume : int
        +CellPhone(chargeLevel : int, volume : int)
        +getCharge() int
        +recharge()
        +getVolume() int
        +setVolume(volume : int)
        +makeCall()
    }

    LoudToy <|-- ToySheep
    LoudToy <|-- ToyRobot
    Rechargeable <|.. ToyRobot
    Rechargeable <|.. CellPhone