IT is gr8! A workshop for IT teachers 2015. Preparing for programming concepts Data types Arrays...

33
IT is gr8! A workshop for IT teachers 2015

Transcript of IT is gr8! A workshop for IT teachers 2015. Preparing for programming concepts Data types Arrays...

IT is gr8!A workshop for IT teachers

2015

Preparing for programming concepts

• Data types• Arrays (lists)• OOP• Classes and objects• Attributes and behaviour of objects• Data transfer to and from an object

Programming concepts: Data types

All the operators work with numbers.All the slots are round.There is a difference between integer and real values.

Round is a function.It receives one argument.It returns an integer.

Programming concepts: Data typesAll the operators work with text (strings).All the slots which can accept text are rectangular.The slot which contains a number (3) is round.34251 is treated as a string because it was entered as the argument of the length function.

Programming concepts: Data types

When you compare values you create a condition.The result of a condition is a Boolean value.

Boolean values fit into slots with pointed sides.

Programming concepts: Arrays

Programming concepts: OOP

1. Re-use of code (code stored in a unit)2. Passing data to pre-written code3. An object has attributes (data) and

behaviour (methods)4. Data encapsulation

a) Data can only be passed to, and obtained from an object using methods.

b) An object’s methods act on its own data.

Why OOP?

Delphi is an OOP language.It has been developed using objects.You have already used objects.You are going to learn how to create your own objects.

Where have you used objects?

• Buttons, Panels, Edits (all are components – a special type of object).

• These components have been created according to a ‘blueprint’ or ‘recipe’ called a class.

You have used static components, and instantiated components dynamically

‘Static’ components

Dynamic components (instantiated while program is running)• MyPanel := TPanel.Create(frmPicture);• MyLabel := TLabel.Create(MyPanel);• MyImage := TImage.Create(MyPanel);

Classes

The definitions (blueprint / recipe) for components are called classes and they are stored in units.

How to instantiate and use an object based on a class

1. Use the unit where the class has been declared.

2. Declare a variable based on the class.3. Instantiate the object.4. Call methods from the object.5. Free the object.

1.

2.

3.

4.

5.

Grade 11Chapter 13Activity 3.1

Delphi also provided other classes which can be used to

instantiate objects. We want to create our own classes and

instantiate objects based on these classes. So we need to know

how an object is structured . . .

What does an object look like?

• All objects have attributes (describing what the object looks like) and • behaviour (indicating what the object can

do).

For example . . .

The various attributes and the behaviour have been indicated in a class definition (a recipe or blueprint) which is stored in a unit. For example the TEdit class definition is stored in the StdCtrls unit.

Components are visible objects. You can also use objects which are not visible at run-time of the program, for example a TStringList.

A StringList has

Attributes Text (an array/list of strings) Count (an integer indicating the number

of strings in the list)

and

Behaviour AddStrings Delete Exchange Sort IndexOf SaveToFile LoadFromFile

The TStringList class definition is stored in the Classes unit.

How to instantiate and use an object based on a TStringList class

1.

2.

3.

4.

5. Grade 11Chapter 13Activity 5

Benefits of using the TStringList class

• Learners can see the benefit of using classes.

• They experience the concept of data encapsulation.

• They want to create their own classes or collaborate and exchange classes.

Passing data to a subroutineFunction Power(Base: Extended; Exponent: Extended): Extended;rAns := POWER(StrToInt(edtBase.Text), StrToInt(edtPower.Text));

Re-confirming concepts

Passing data to an objectRe-confirming

concepts

Write your own class and instantiate an object

When you write many programs, and more complicated ones, it may be necessary to create your own classes, so you can create the same objects in different programs, or so you can do more complicated programming in a separate entity. We are going to use an uncomplicated object to begin with: A waiter as an object.

A Waiter has

Attributes Name Number of hours the waiter

worked Rate the waiter earns per hour

and

Behaviour Provide his/her name Provide the number of hours worked Provide the rate per hour Calculate and provide total wage

The TWaiter class definition will be stored in the clsWaiter_u unit. (You choose the name of the unit yourself.)

How to instantiate and use an object based on a TWaiter class

1.

2.

3.

4.

5. Grade 12Chapter 1Activity 1.2

An object contains attributes and behaviour

• A Form is an object (component).• While you are building a new Form,

you are adding attributes (components and variables with class scope).

• You are adding behaviour (event handlers and methods – functions and procedures).

Re-confirming concepts

BehaviourAtt

ribut

es

frmMain

frmHideCache frmSwop frmSearch

Prepare for concepts

Use OOP principlesMethods are part of the class of the Form.

Methods work with attributes (data) of the Form.

Do NOT use procedural principles

Subroutines work with a variable which has unit scope.

Subroutines - not methods.