Design and implement three Python classes to represent different types of entities with specific lifecycle fields:
1. ImmutableEntity
Description:
Represents an entity that, once created, cannot be changed.
Fields:
created_at: A timestamp indicating when the record was created.
2. MutableEntity
Description:
Represents an entity that can be updated after creation.
Inheritance:
Extends ImmutableEntity.
Additional Fields:
updated_at: A timestamp indicating when the record was last updated.
3. PermanentEntity
Description:
Represents an entity that can be marked as deleted but is never physically removed (soft delete).
Inheritance:
Extends MutableEntity.
Additional Fields:
deleted_at: A timestamp indicating when the record was marked as deleted.
deleted: A boolean flag indicating whether the record is considered deleted.
Design and implement three Python classes to represent different types of entities with specific lifecycle fields:
1. ImmutableEntity
Description:
Represents an entity that, once created, cannot be changed.
Fields:
created_at: A timestamp indicating when the record was created.2. MutableEntity
Description:
Represents an entity that can be updated after creation.
Inheritance:
Extends ImmutableEntity.
Additional Fields:
updated_at: A timestamp indicating when the record was last updated.3. PermanentEntity
Description:
Represents an entity that can be marked as deleted but is never physically removed (soft delete).
Inheritance:
Extends MutableEntity.
Additional Fields:
deleted_at: A timestamp indicating when the record was marked as deleted.deleted: A boolean flag indicating whether the record is considered deleted.