Fundamentals of Software Development 1Slide 1 Acrobat Games – Debriefing: Interfaces For each type of object, what operations can that object do?For each.

Slides:



Advertisements
Similar presentations
SPL/2010 Test-Driven Development (TDD) 1. SPL/
Advertisements

Slides 4/22 COP Topics Final Exam Review Final Exam The final exam is Friday, April 29 th at 10:00 AM in the usual room No notes, books, calculators,
Fundamentals of Software Development 1Slide 1 Outline of this exercise Learning objectives:Learning objectives: –After this exercise, a student should.
1 Introductions to: - Each other - Object-Oriented Programming (OOP) - Java CSSE 220—Object-Oriented Software Development Rose-Hulman Institute of Technology.
Chair of Software Engineering 1 Introduction to Programming Bertrand Meyer Exercise Session 4 30 September 2008.
CSE 115 / 503 Introduction to Computer Science For Majors I Carl Alphonce 219 Bell Hall.
Fundamentals of Software Development 1Slide 1 Capstone Project Suggestions A variation of Game of LifeA variation of Game of Life A variation of BejeweledA.
Fundamentals of Software Development 1Slide 1 Today’s Summary UML class diagrams – –Why classes are important – –UML class diagrams – relationships – –UML.
Fundamentals of Software Development 1Slide 1 One class can describe many different instancesOne class can describe many different instances –Two NameDroppers,
Slides prepared by Rose Williams, Binghamton University Chapter 13 Interfaces and Inner Classes.
Chair of Software Engineering Einführung in die Programmierung Introduction to Programming Prof. Dr. Bertrand Meyer Exercise Session 3.
Chair of Software Engineering Einführung in die Programmierung Introduction to Programming Prof. Dr. Bertrand Meyer Exercise Session 4.
16/22/2015 2:54 PM6/22/2015 2:54 PM6/22/2015 2:54 PMObject-Oriented Development Concept originated with simulating objects and their interactions. Adapted.
Chair of Software Engineering Einführung in die Programmierung Introduction to Programming Prof. Dr. Bertrand Meyer Exercise Session 4.
CSE 115 / 503 Introduction to Computer Science For Majors I Carl Alphonce 219 Bell Hall.
Chair of Software Engineering Einführung in die Programmierung Introduction to Programming Prof. Dr. Bertrand Meyer Exercise Session 3.
Cmp Sci 187: Midterm Review Based on Lecture Notes.
Lecture a: Additional UML Models: Package, Activity, Deployment Lecture b: Generalization, Aggregation and Additional Domain Model Notation Copyright W.
Sharif University of Technology1 Design and Use-case Realization Software Engineering Laboratory Fall 2006.
Fundamentals of Software Development 1Slide 1 UML class diagrams: Outline Why types / classes are importantWhy types / classes are important –Why types.
Chair of Software Engineering Einführung in die Programmierung Introduction to Programming Prof. Dr. Bertrand Meyer Exercise Session 3.
CSE 115 / 503 Introduction to Computer Science I
You can type your own categories and points values in this game board. Type your questions and answers in the slides we’ve provided. When you’re in slide.
2.5 OOP Principles Part 1 academy.zariba.com 1. Lecture Content 1.Fundamental Principles of OOP 2.Inheritance 3.Abstraction 4.Encapsulation 2.
Test. A software house decides to develop a DVD renting program. The product manager identifies the following requirements: Every DVD will have a title,
Object Oriented Software Development
CMSC 202 Interfaces. 11/20102 Classes and Methods When a class defines its methods as public, it describes how the class user interacts with the method.
CSE 331 Software Design & Implementation Hal Perkins Autumn 2012 Java Classes, Interfaces, and Types 1.
Fundamentals of Software Development 1Slide 1 Recap: Key ideas in WordGames Defining a classDefining a class Extending a class versus implementing an interfaceExtending.
Entity Relationship Diagrams Objectives s Learn the Elements of the E-R model (entities, attributes, and relationships) s Show how to apply the E-R model.
Fundamentals of Software Development 1Slide 1 Outline of this exercise Learning objectives of the tutorial:Learning objectives of the tutorial: –After.
SWE © Solomon Seifu ELABORATION. SWE © Solomon Seifu Lesson 10 Use Case Design.
RIT Computer Science Dept. Goals l Inheritance l Modifiers: private, public, protected l Polymorphism.
Fundamentals of Software Development 1Slide 1 UML class diagrams: What are they? Unified Modeling Language (UML)Unified Modeling Language (UML) –“A family.
Engineering 5895: Software Design 9/11/01Class Diagrams 1.
Chair of Software Engineering Einführung in die Programmierung Introduction to Programming Prof. Dr. Bertrand Meyer Exercise Session 4.
CS-2852 Data Structures Week 5, Class 2 – Testing and Stacks Announcement: Lab Demos - 2/3 & 4 on Friday Testing  Definitions, Example  (tentative) Testing.
JAVA COURSE 1 Computer Engineering Association. Compile your first program Public class Hello{ public class Hello(){ System.out.println(“Hello”); } puclic.
SpaceChemistryWDYAKGeneticsWaterPSSA Vocab $ $ $ $ $ $ $ $ $ $ $ $ $ $
Mechanisms for Reuse CMPS OOP billed as technology that permits software to be constructed from general-purpose reusable components Two main mechanisms.
Chair of Software Engineering Einführung in die Programmierung Introduction to Programming Prof. Dr. Bertrand Meyer Exercise Session 3.
(c) University of Washington02-1 CSC 143 Java Object and Class Relationships: Interfaces Reading: Ch. 9 (on Java interfaces)
Chair of Software Engineering Einführung in die Programmierung Introduction to Programming Prof. Dr. Bertrand Meyer Exercise Session 4.
CLASS DIAGRAMS A classy approach to objects. The Basic Class Diagram  Class Name  Attributes (- indicates private each would have properties or accessor/mutator.
Class Diagrams Chapter 3. Classes and Objects Classes are the descriptions –definitions Objects are the things –instances.
Who stole the cookie? Would you like a cup of tea? What’s in the basket? How to play.
Fundamentals of Software Development 1Slide 1 Acrobat Games: An introduction to object-oriented design We need 11 volunteers – –BasicAcrobat x 3 – –ProudAcrobat.
SUBCLASSES - JAVA. The Purpose of Subclasses Class Farm String getOwner() void setOwner(String s) int getSize() void setSize(int s) Class DairyFarm String.
Defining Classes. Why is Java designed this way? Improving our class Creating our own class Using our class Implementing our class.
BY:- TOPS Technologies
Return to Home! Go To Next Slide! Return to Home! Go To Next Slide!
You are an Acrobat When you are asked to Clap, you will be given a number. Clap your hands that many times. When you are asked to Twirl, you will be given.
1 Inheritance One of the goals of object oriented programming is code reuse. Inheritance is one mechanism for accomplishing code reuse. It allows us to.
Inheritance Class Hierarchies SoftUni Team Technical Trainers Software University
Written by: Dr. JJ Shepherd
Developed by Start.
continued on next slide
Object Oriented Concepts -I
Section 11.1 Class Variables and Methods
Worse is better, also called the New Jersey style, is the name of a computer software design.
                                                                                                                                                                                                                                                
continued on next slide
continued on next slide
IT: The Caterpillar.
Einführung in die Programmierung Introduction to Programming Prof. Dr
Count on 2 (Over the bridge)
continued on next slide
Inheritance Lakshmish Ramaswamy.
continued on next slide
Presentation transcript:

Fundamentals of Software Development 1Slide 1 Acrobat Games – Debriefing: Interfaces For each type of object, what operations can that object do?For each type of object, what operations can that object do? ProudAcrobat clap twirl count bow AcrobatWithBuddy clap twirl count nameBuddy DoublingAcrobat clap twirl count Choreographer clap twirl count BasicAcrobat clap twirl count Curmudgeon throws an Exception > Acrobat clap twirl count implements Is there any commonality? Any operations that all the classes (except Curmudgeon) must implement? Any protocol that all must obey?Is there any commonality? Any operations that all the classes (except Curmudgeon) must implement? Any protocol that all must obey? Yes! The Acrobat interfaceYes! The Acrobat interface

Fundamentals of Software Development 1Slide 2 Acrobat Games – Debriefing: is-a and has-a ProudAcrobat clap twirl count bow 1 2 > Acrobat clap twirl count AcrobatWithBuddy clap twirl count nameBuddy DoublingAcrobat clap twirl count Choreographer clap twirl count BasicAcrobat clap twirl count Curmudgeon has-a is-a A ProudAcrobat is-a BasicAcrobat – It inherits all the attributes and operations of a BasicAcrobat An AcrobatWithBuddy has-a Acrobat – It can ask its Acrobat buddy to do things What other is-a relationships exist above? has-a?

Fundamentals of Software Development 1Slide 3 Acrobat Games – Debriefing: arguments and returned values When asking an object to perform an operation, we say three things. What are they?When asking an object to perform an operation, we say three things. What are they? object that is to perform the operation Name of operation Argument sally.clap(2) What determines how a particular object performs the clap operation?What determines how a particular object performs the clap operation? –Answer: What class it is an instance of. For example, a BasicAcrobat claps one way, while a ProudAcrobat claps another way. Also, what argument it is given. sally.clap(2) claps twice, while sally.clap(6) claps six times. Do objects have to act alone when performing?Do objects have to act alone when performing? –No. For example, a Choreographer asks others to act on its behalf. How are the clap and count operations fundamentally different?How are the clap and count operations fundamentally different? –Answer: clap does something, while count returns a value.