Methods
This presentation is the property of its rightful owner.
Sponsored Links
1 / 15

Methods PowerPoint PPT Presentation


  • 177 Views
  • Uploaded on
  • Presentation posted in: General

Methods. Overview. In this presentation we will discuss these 4 topics: Main method vs. Jeroo methods Choosing behaviors to turn into methods Writing a Jeroo method Preconditions and postconditions. Jeroo has many built-in methods. Actions hop, turn, … Sensor methods isNet? isFlower? …

Download Presentation

Methods

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Methods

Methods


Overview

Overview

  • In this presentation we will discuss these 4 topics:

    • Main method vs. Jeroo methods

    • Choosing behaviors to turn into methods

    • Writing a Jeroo method

    • Preconditions and postconditions


Jeroo has many built in methods

Jeroo has many built-in methods

  • Actions

    • hop, turn, …

  • Sensor methods

    • isNet? isFlower? …

  • The programmer can define additional methods to extend the behavior of every Jeroo.


Behaviors and methods

Behaviors and methods

  • Behavior = an action that an object can take or a task it can perform in response to a request from an external source

  • Method = Collection of statements written in a programming language to describe a specific behavior.

  • 1st define and name a behavior

  • 2nd write code for the method


Which parts of the program should be methods

Which parts of the program should be methods?

  • choose a behavior

    • Any complex, well-defined step

    • Any sequence of steps that more than 1 Jeroo will perform

    • Any sequence of steps that occur several times.

  • A good behavior to turn into a method has a very clear definition and is used more than once in the program.


  • Writing the method

    Writing the method

    • A Jeroo method contains the code describing what any Jeroo needs to do to carry out a particular behavior.

    • Choose a name that is meaningful

    • Empty parenthesis required on the header line (first line)

    • Indent code inside the method

    method method_name ( )

    {

    } //== method_name==

    Body of method

    Containing statements that describe how any arbitrary Jeroo can carry out this particular behavior.


    Important differences

    Jeroo methods

    Can be many other methods

    Choose your own names

    Must be called by the main method

    Can’t instantiate in the method

    Important differences

    Main method

    • Only one main method

    • Must be called main

    • Always comes first

    • Instantiate Jeroos


    Example of a jeroo method

    Example of a Jeroo method

    Comments clearly explain what the method does

    //***********************************************************

    //Turn Around: makes a Jeroo turn 180 degrees

    //***********************************************************

    method turnAround( )

    {

    turn(LEFT);

    turn(LEFT);

    } // === end turnAround ===

    Good , descriptive name for the method

    The code is indented

    Notice that no Jeroo name is specified in the steps

    Everything in yellow is good! 


    Important difference

    Jeroo methods

    Define a behavior available to ALL Jeroos so do not specify which Jeroo performs the steps inside the method

    Example in a Jeroo method for any Jeroo

    pick();

    hop(2);

    give(AHEAD);

    Important difference

    Main method

    • All steps must specify which Jeroo does each action:objectname.method();

      Example in main for a Jeroo named betty

    • betty.pick();

    • betty.hop(2);

    • betty.give(AHEAD);


    Using a jeroo method

    Using a Jeroo method

    • After you write your code

    • Use it just like any other method

    • method plantCorner( ){

      • plant();

      • hop();

      • turn(RIGHT);

      • hop();

      • plant();

  • } // === plant Corner ===

    • method main( ){

      • Jeroo ali = new Jeroo(5,5,8);

      • ali.plantCorner( );

  • } // === main ===


  • One method can call another

    One method can call another

    • The plantThree method is used twice in the plantRectangle method

    • method plantThree( ){ plant( ); hop( ); plant( ); hop( ); plant( );} //=== plantThree ===method plantRectangle( ){

      • plantThree( );

      • moveDown( );

      • plantThree( );

    • }//=== plantRectangle ===

    B

    This code is missing most of its comments!

    Defined above

    A

    Must also be defined somewhere


    Preconditions and postconditions

    Preconditions and Postconditions

    • A complete definition for a behavior includes:

    • Preconditions

      • Assumptions of what is true before the method is called

    • Postconditions

      • What will be true after the method is finished

    • In Jeroo, the only things that change are:

      • island cells (flower planted, net gone…)

      • Jeroo attributes (location, number of flowers …)


    Things to consider when writing a precondition

    Things to consider when writing a precondition

    • What must be true for this method to work?

      • Ask: does the Jeroo need

        • A certain number of flowers?

        • To be facing a particular direction?

        • To be in a certain location?

      • Ask: are the contents of certain island cells important?

    //********************************************

    //Plant 3 flowers in a row starting at current location

    //PRECONDITIONS:

    // 1. There are 2 clear spaces directly in front

    // 2. Jeroo has at least 3 flowers

    //********************************************

    method plantThree( ){…


    Things to consider when writing a postcondition

    Things to consider when writing a postcondition

    • Describe what is true after the method finishes

      • Ask: how will the method change

        • the number of flowers?

        • the direction the Jeroo is facing?

        • the Jeroo’s location?

      • Ask: have the contents of certain island cells changed?

    //

    // POSTCONDITIONS:

    // 1. Three flowers have been planted, starting at the

    //beginning location and proceeding straight ahead

    // 2. The jeroo is standing on the last flower,

    // facing its originaldirection

    // ********************************************

    method plantThree( )

    {…


    The end

    The End


  • Login