Classes / Objects /
Methods
Chapter 4
Object Oriented Programming



Divides a program into
Modules/Classes
Uses Classes and Objects to simulate
real world environments
Basic Programming Components
• Classes
• Objects
• Methods
Class

Specifies the definition of a particular
kind of object
• Frog
• Snowman
• Cell phone


Blueprint / design for how to create
an object of that type
Class names begin with a Capital
letter
Class

Properties
• Characteristics

Methods
• Behaviors
Objects


Specific Instances of a Class
Implementation of the Class Definition
• Spot  one specific dog
• Frosty  one specific snowman

All specific objects of the same class share
the same definition
• Same Properties – can be modified
• Same Methods – can be modified

Object names begin with lowercase letter
Dog Object

All Instances of Class
Dog Have
• Properties




Name
Breed
Weight
Color
• Methods



Walk
Bark
Jump

Each Instance Has
• Properties




Spot
Mutt
10 pounds
Black
• Methods
Walk
 Bark
 Jump
(can be modified to fit
Spot’s requirements)

Methods



Sequence of Instructions
Tasks that can be performed
Some are predefined within the Class
• Dog has a bark method


Others are Created or Modified
Methods organize the program
• Divide the program into manageable
pieces
Parameters



Pieces of Information that need to be
sent to the Method
Turn Toward (what)
Turn Toward Snowwoman
Levels of Methods

Global Methods (World Level)
• Methods that reference more than one
object

Class Methods
• Methods that define a behavior for one
single object
Create New Method

Snowpeople (problem 4-1)
• flipsHat





Raises right arm
Grabs Hat
Tips toward snowwoman
Returns Hat to Head
World Method
•
•
•
•
•
Uses snowman and snowwomen
World
Method
Create New Method
Name  flipsHat
Add Method Instructions
Calling a Method



New Method must be “Called”
Program Instructions must indicate
to Execute the new Method
In Alice
• Drag Method into World.MyFirstMethod

In Other Languages
• Call the Method using Method Name
Parameters

Allows communication with Methods
• Communicate Values (Numbers, Colors)
• Communicate Object Names
Create Method with Parameter

Create Method called “dance”
• Object will jump up and down and spin around

Create Parameters
• Parameter 1

Which object to dance
• Parameter 2

How many times to Spin
Creating Parameter

Which object to Dance
• Name


Arbitrary
Placeholder – holds place of the actual
object the will be used in the method
• Type:




Number
Boolean (True/False)
Object
Other (Sound, Color, Etc.)
Parameter


Parameters show in Upper Left of Method
Panel
When Method is Called (Used)
• Object must be sent as an Argument to Method
Use Parameter in Method
Calling Method with Parameter



When using Method you must include
Parameter
Use dance method after flipHat
Example 1: Requires an object to
dance
Multiple Parameters

Add Second Parameter – How many
times to Spin
• Name: numberToSpin
• Type: Number
• Use in the Turn Instruction
Modify Method Call


Change 2nd Parameter
Pick any 2 different numbers
Create Another Method

Create a Method for Snowman
Blinking His Eyes
• Is this a World / Global Method
• Is this a Class Method


Why
How is it Created?
Homework

Chapter 4, Section 1 (4-1)
• #3 – Gallop and Jump
• #4 – Helicopter Flight

Chapter 4, Section 2 (4-2)
• #6 – Frog Escape
Bring electronic copy of homework to class
Bring printed copy of homework to submit
Class Methods





Class Methods are methods
that define a behavior for
one single class object.
Select Horse Object
Methods
Create New Method
gallop
Guidelines for Class Methods




Create lots of class methods as necessary
Do not call world-level methods from
within a class-level method
Do not use instructions for other objects
from within a class-level method
You can use parameters to send necessary
information instead of referring to other
specific objects from within the method.
Inheritance



Creating a class on a previously
defined class
Adding functionality to existing class
by defining new methods or editing
existing ones
Different members of design team
can work on different methods for
the class
Creating a New Class in ALICE

Save object with new class methods
as a New Class
• Code Reuse
• Galloping Horse

2 Step Process
• Rename existing object in Object Tree
• Save As a New Class
Rename Object




Select the Object in the
Object Tree
Right-Click
Rename
Select a New Meaningful
Name for Object
• GallopingHorse
Save As New Class




Select the Object in
the Object Tree
Right-Click
Save Object
Navigate to folder
where you want to save the object
Other objects: Alice\Alice\Required\Gallery
.a2c extension  Alice 2.0 class
New Class


New Class (GallopingHorse) is now
available in Object Gallery
All objects of GallopingHorse
• all methods of horse
• class-method gallop
Homework

Exercise 4-3
• #10
• #11  use a say instruction not a sound
file so all worlds don’t have to import
sound file
• Bring electronic copy of homework to class
• Bring printed copy of homework to submit
Descargar

Classes / Objects / Methods