3.2 CREATING DATA TYPES
Introduction:
Data abstraction = the process of defining a data type
Another mantra: whenever you can clearly separate data and associated operations within
computation, you should do so
Basic elements of a data type:
API:
The application programming interface is the contract with all clients and, therefore, the
starting point for any implementation.
When creating a new data type for some application, the first step is to develop an API = a
design activity.
It is a good idea to compose some client code before finalizing the API.
Second step to creating a data type -> implement a Python class that meets the API
specifications.
Third step: compose a test client, to validate and test the design decisions made in the first
two steps.
Purpose of API: to separate clients from implementation.
Class:
We implement a data type as a class and name it with the same name as the class but with a
lowercase and followed by the .py extension.
3 key features of a data type (all different types of methods):
- A constructor
- Instance variables
- Methods
Constructor:
-> creates an objects of the specified type and returns a reference to that object.
Each data type defines a special method __init__() whose purpose is to define and initialise
the instance variables.
The first parameter in the constructor(__init__() method) is named self, followed by ordinary
parameter variables; the remaining lines make up the body of the constructor. The value of
the self parameter variable when __init()__ is invoked is a reference to the newly created
object
Instance variables:
-> implement the values and belong to a
particular instance of a class
Define and initialise each instance variable of the
newly created object in the constructor.
Instance variables start with an underscore.
Methods:
Introduction:
Data abstraction = the process of defining a data type
Another mantra: whenever you can clearly separate data and associated operations within
computation, you should do so
Basic elements of a data type:
API:
The application programming interface is the contract with all clients and, therefore, the
starting point for any implementation.
When creating a new data type for some application, the first step is to develop an API = a
design activity.
It is a good idea to compose some client code before finalizing the API.
Second step to creating a data type -> implement a Python class that meets the API
specifications.
Third step: compose a test client, to validate and test the design decisions made in the first
two steps.
Purpose of API: to separate clients from implementation.
Class:
We implement a data type as a class and name it with the same name as the class but with a
lowercase and followed by the .py extension.
3 key features of a data type (all different types of methods):
- A constructor
- Instance variables
- Methods
Constructor:
-> creates an objects of the specified type and returns a reference to that object.
Each data type defines a special method __init__() whose purpose is to define and initialise
the instance variables.
The first parameter in the constructor(__init__() method) is named self, followed by ordinary
parameter variables; the remaining lines make up the body of the constructor. The value of
the self parameter variable when __init()__ is invoked is a reference to the newly created
object
Instance variables:
-> implement the values and belong to a
particular instance of a class
Define and initialise each instance variable of the
newly created object in the constructor.
Instance variables start with an underscore.
Methods: