Computation as an Expressive Medium - PowerPoint PPT Presentation

1 / 17
About This Presentation
Title:

Computation as an Expressive Medium

Description:

Put a block of commenting at the top of each program that explains what it does ... Avast, Cap'n! Java Ahoy! Classes: They're not just for breakfast, anymore. ... – PowerPoint PPT presentation

Number of Views:54
Avg rating:3.0/5.0
Slides: 18
Provided by: jasonalder6
Category:

less

Transcript and Presenter's Notes

Title: Computation as an Expressive Medium


1
Computation as an Expressive Medium
  • Lab 3 (Methods and) Classes
  • Jason Alderman

2
ARE YOU READY TO RUMMMMMMBBLLLLLLE?!
  • A few good programming practices
  • Methods Oi, whats the deal, eh?
  • Classes Heres where it gets really fun

3
Drive friendly. Code friendly.
  • Comments are your friend!
  • Put a block of commenting at the top of each
    program that explains what it does
  • Comment in code what a section will do
  • Comment when you appropriate code!!
  • Auto-format is also your friend!!
  • Your programs will have at least three sections
  • Variable declaration
  • setup()
  • draw()

Also known asgank, borrow, reuse, yoinks,
etc. Give due credit!
4
Methods. Reloaded.
  • Methods, also known as
  • Functions (methods which return something)
  • Procedures (methods which dont return stuff)
  • Method declaration
  • Method call

void vendingMachine( int coinCents )
println("You inserted "coinCents" cents.")
int quarter 25vendingMachine(quarter)
5
Methods. Reloaded.
  • Method declaration
  • The method declaration is like a blueprint
  • Doesn't matter if declaration is before or after
    call!
  • Parameter name (e.g. coinCents) is just the name
    given to data passed into the method

parameter
void vendingMachine( int coinCents )
println("You inserted "coinCents" cents.")
6
Methods. Reloaded.
  • Method call
  • vendingMachine(quarter) vendingMachine(25)
  • Method call must occur in either setup(), draw(),
    or another method
  • You can call it as many times as you like!
  • vendingMachine()s for everyone!! Hooray!

argument
int quarter 25vendingMachine(quarter)
7
Avast, Cap'n! Java Ahoy!
  • Classes Theyre not just for breakfast, anymore.
  • Remember that slide a couple labs ago?
  • Types
  • Primitives int, float, char, boolean
  • Objects array, string, class

This bit of information is courtesy your memory
of things learned. Don't leave home without it.
8
Objects
  • Weve worked with some objects before, like
    Arrays.
  • We can make our own objects, to keep related data
    together, and methods to control that data.

9
Classes
Hey! You reused that metaphor!
  • Classes are the blueprints for our new objects.
  • To declare a new Class (a new type of object)

class MyToy // fields (class variables)
// methods (class functions)
10
Fields and Methods
class MySquare int xPos, yPos
MySquare(x, y) xPos x yPos y
void drawMe() rect(xPos, yPos, 50, 50)
fields
x
y
constructor
drawMe()
(one kind of method)
methods
11
Fields and Methods
class MySquare int xPos, yPos
MySquare(x, y) xPos x yPos y
void drawMe() rect(xPos, yPos, 50, 50)
10
10
20
90
drawMe()
drawMe()
square1
square2
MySquare square1 new MySquare(10, 10) MySquare
square2 new MySquare(20, 90)
12
Fields and Methods
class MySquare int xPos, yPos
MySquare(int x, int y) xPos x yPos y
void drawMe() rect(xPos, yPos, 50, 50)

MySquare square1 new MySquare(10, 10) MySquare
square2 new MySquare(20, 90)
square1.drawMe() square2.drawMe()
13
Arrays of Objects?
  • Sure! Lets make a bunch of squares!

MySquare squares new MySquare10 //
initialize all of our squares. for (int i 0 i
i10) squares4.drawMe() // draw the 4th
square.
14
Asteroids
  • Lets adapt this to make an array of Asteroids
    for our rocket from lecture.

class Asteroid //fields float rotation
0 float xPos, yPos float velocityX,
velocityY long lastDrawMillis 0
except you didn't finish going over the
Asteroids code in class, did you? Just follow
along and we'll go over the code in a second (not
on slides).
15
Asteroids
  • When we create an asteroid, lets have it start
    in a random position, and move in a random
    direction.

Class Asteroid // constructor
Asteroid() xPos random(0, 400) yPos
random(0, 400) rotation random(0,
TWO_PI) velocityX sin(rotation)10 velocityY
-cos(rotation)10
16
Asteroids
Class Asteroid // draw method void
drawMe()
17
OOP, we'll do it again.
The more the merrier! MUHAHAHA!
  • Programming practices
  • Methods, redux
  • Classes, hoo-boy!

clone-o-matic
Write a Comment
User Comments (0)
About PowerShow.com