University of Johannesburg Academy of Computer Science & Software Engineering IFM01B1: Introduction to Data Structures (VB) Practical Assignment 06 (Due: 01 September 2023 @ 09h00) Programming Instructions Copy and paste the following text at the beginning of each class you create and fill in the relevant details: '********************************************************************************************* ' Surname, Initials: ' Student Number: ' Practical: P06 '********************************************************************************************* Question Consider and abstract class called Entertainment 1) Define the Entertainment class – it must have at least two attributes and one appropriate method (constructor and property methods do not count). 2) Define two additional classes which both inherit directly from Entertainment – they must each have two attributes and one appropriate method each (constructor, property methods, and overridden1) methods do not count). 3) Using one of the derived classes demonstrate composition. The component class must consist of two attributes, and one method (constructor and property methods do not count). 4) Implement your design in a visual basics application Note that your program should adhere to both encapsulation, abstraction, and modular principles. Marksheet UML Class Diagram * 10 Definition of Class (includes attributes and relevant method(s)) 25 Use of Base class 5 Use of Inheritance class 5 Use of Composition class 5 Correct 45 Programming Style (commenting of code, readability of code) 15 Total Expected Structure for UML please note the diagram is incomplete. Expected code should be the same structure as the code: Check the base class logic Check the sub class logic (if missing) Check that that there is Composition 110