Class-level Methods and Inheritance Part 1 Alice.

Slides:



Advertisements
Similar presentations
CS320n –Visual Programming Class-level Methods and Inheritance – Part 1 Mike Scott (Slides 4-3-1) Thanks to Wanda Dann, Steve Cooper, and Susan Rodger.
Advertisements

Class-level Methods Alice. World / Class Method World method A general method that may refer to multiple objects; not closely associated with any particular.
Class-level Methods Chapter 6. Class-level Method Is specific to a class of objects We can give a class new abilities/methods Only involves this one class.
Review of Chapter 4 Sections 1 and 2 World-level methods involve two or more objects break a large problem into smaller, logical units follow a design.
Class-level Methods and Inheritance Alice. Class-level Methods Some actions are naturally associated with a specific class of objects. Examples A person.
Class-level Methods and Inheritance MMP 220 Multimedia Programming This adapted material was prepared for students in MMP220 as as part of a curriculum.
Alice and Media Computation August 2009 Animation Storyboard  Code Steve Cooper Barbara Ericson.
CSC1401 Animation Creating methods/instructions (class-level)
Parameters and World-level methods Alice. Our Dragon world The dragon must to take off and fly, to carry the princess.
World-level Methods with Parameters Alice. Larger Programs As you become more skilled in writing programs, you will find that your programs quickly begin.
While: Indefinite Loops Alice. Repetition In some situations, we don’t know exactly how many times a block of instructions should be repeated. All we.
Fall 2008ACS-1805 Ron McFadyen1 Programming Concepts Chapter 4 introduces more advanced OO programming techniques. Construction of a programs usually requires:
Stepwise Refinement -- A procedure calls another procedure
Copyright © 2012 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with Alice: A Visual Introduction to Programming Third Edition.
Fall 2007ACS-1805 Ron McFadyen1 Programming Concepts Chapter 4 introduces more advanced OO programming techniques. Construction of a programs usually requires:
Tips & Techniques 6 Random Numbers and Random Motion Alice.
Alice: A Visual Introduction to Programming Chapter 1 Part 2.
Classes, Objects, and World-level Methods Alice. Programming in Alice© 2006 Dr. Tim Margush2 Class / Object Class A template describing the characteristics.
Fall 2008ACS-1805 Ron McFadyen1 Programming Concepts Chapter 4 introduces more advanced OO programming techniques. Construction of a programs usually requires:
Methods Tutorial: Part One By Deborah Nelson Duke University Under the direction of Professor Susan Rodger June 9, 2008.
Classes, Objects, and World-level Methods
Today’s Agenda 1.Collect Pre-Lab 4 2.Alice Programming Assignment Storyboards 3.Classes 4.Objects 5.Methods 6.Assign pair programming teams and meet upstairs.
Classes, Objects, and World-level Methods Alice. Larger Programs As you become more skilled in writing programs, you will find that programs quickly increase.
Classes, Objects, and World-level Methods Section 47 Web Design.
Classes, Objects, and World-level Methods Alice. Larger Programs As you become more skilled in writing programs, you will find that programs quickly increase.
Class-level Methods Chapter 6 part 1. Classes and Objects Classes o In Alice, classes are predefined as 3D models Objects o An object is an instance of.
Alice 2.0 Introductory Concepts and Techniques Project 1 Exploring Alice and Object-Oriented Programming.
Poses Tutorial Alex Boldt Under the direction of Professor Susan Rodger Duke University July 2015.
Teaching a character to walk in more than one world: Parameters and Inheritance. By Lana Dyck under the direction of Professor Susan Rodger Duke University.
Alice: A Visual Introduction to Programming Chapter 1 Part 2.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Where are we? Alice is a “toy” language Fundamentals are exactly like “real”
Classes, Objects, and World-level Methods Alice. Larger Programs As you become more skilled in writing programs, you will find that programs quickly increase.
Variables and Inheritance Part 1
Programming: Simple Control Structures Part 2 – Repetition Alice.
Classes, Objects, and World-level Methods MMP 220 Multimedia Programming This adapted material was prepared for students in MMP220 as as part of a curriculum.
The Essentials of Alice Mrs. Jayne Slease SBMS CTE Computer Science and Animation Credit to Duke Students under the direction of Professor Susan Rodger.
Programming: Simple Control Structures
Questions Alice. Functionality A question receives value(s), performs some computation on the value(s), and returns (sends back) a value.
Class-level Methods and Inheritance Alice. Class-level Methods Some actions are naturally associated with a specific class of objects. Examples A person.
CompSci 4 Chap 4 Sec 3 Sept 23, 2010 Prof. Susan Rodger.
Headshots in Alice Duke University Professor Susan H. Rodger Gaetjens Lezin July 2008.
Class-level Methods and Inheritance Alice. Class-level Methods Some actions are naturally associated with a specific class of objects. Examples A person.
Variables and Inheritance Part 1 Alice. Review: Properties A class defines properties for its own kind of object. When an object is created (instantiated),
1 Quiz Show Programming Terms. 2 Alice - 3D Virtual Programming Vocabulary Quiz Board Chapter 1 Chapter 2a Chapter 2b Chapter 3 Chapter 4 $100 $200 $300.
Classes, Objects, and World-level Methods
Setting Up the Initial Scene
Classes, Objects, and World-level Methods
Teaching Characters to Walk: Learning Methods, Part 1
Classes, Objects, and World-level Methods
While: Indefinite Loops
Classes, Objects, and World-level Methods
Classes, Objects, and World-level Methods
World-level Methods with Parameters
CS320n –Visual Programming
Alice and Media Computation August 2009
Classes, Objects, and World-level Methods
Programming: Simple Control Structures
Class-level Methods Alice.
Classes, Objects, and World-level Methods
Programming: Simple Control Structures
Parameters and World-level methods
Programming: Simple Control Structures
Programming: Simple Control Structures
Variables and Inheritance Part 1
Programming: Simple Control Structures
Headshots in Alice Duke University Professor Susan H. Rodger
Programming: Simple Control Structures
Classes, Objects, and World-level Methods
Class-level Methods and Inheritance
Class-level Methods and Inheritance Part 2
Presentation transcript:

Class-level Methods and Inheritance Part 1 Alice

Animated Actions Some actions are more naturally associated with a specific class of objects rather than with the overall world. Examples A person walking A wheel rolling A fish swimming

Class-level Methods We can write our own methods to add abilities/functions to a specific class of objects This will result in a class-level rather than a world-level method The next few slides will demonstrate how to build class-level methods

An example (building technique) How can we create a skate method for ice skater objects? We need to: (1)tell Alice to associate the new method (the one we are about to write) with an ice skater, and (2)write a new method to animate the ice skater skating.

Demo: The solution First, to associate the animation with the ice skater select the iceSkater tile in the Object Tree select the methods tab in the details area click on the "create new method" button

Storyboard for skate The slide actions each require several motion instructions, so we will break these two actions down into smaller pieces… this technique is called stepwise refinement Skate: Do together move skater forward 2 meters Do in order slide on left leg slide on right leg

Refined storyboard for skate Refinement of slideLeft Do in order Lift right leg and turn upper body forward Lower right leg and return body upright Skate: Do together 1) move forward 2 meters 2) Do in order slideLeft slideRight Refinement of slideRight Do in order Lift left leg and turn upper body forward Lower left leg and return body upright

Writing the code The next step is to translate the design into program code. For the slideLeft method, a possible translation is: Design step Instruction Lift the right leg turn the right thigh forward Turn upper body forward turn the abs forward Lower the right leg turn the right thigh backward Return the body upright turn the abs backward

Demo Demonstration of slideLeft slideRight skate

Correspondence of design to code Skate: Do together move skater forward 2 meters Do in order slide on left leg slide on right leg

Question Writing the methods to make an ice skater perform a skating motion is an intricate task. Most likely, you would like to reuse these new methods in other worlds. How can you make the skate method available for an ice skater in a different world?

Answer: Save out as a new class 1) Rename iceSkater as cleverSkater. 2) Save out as a new class. Alice saves the new class as CleverSkater.a2c

Inheritance The CleverSkater class inherits all the properties and methods from the original IceSkater class, and also has the newly defined methods (skate, slideLeft, slideRight) In other programming languages, the concept of creating a new class based on a previously defined class is called inheritance.

Using CleverSkater An instance of the CleverSkater class can be added to a new world – use File|Import.

Benefits of Inheritance Inheritance supports the reuse of program code -- allows the programmer to write code once and use it again later in different programs. sharing code with others in a team project

Assignment Read Chapter 4-3 Class-level methods and Inheritance Read Tips & Techniques 4 Visible and Invisible Objects