Hirophysics.com Steven Jeffrey K irkup. Hirophysics.com What is Object Oriented Programming (OOP)? Essentially, OOP is a protocol that can be followed.

Slides:



Advertisements
Similar presentations
PRESENTED BY MATTHEW GRAF AND LEE MIROWITZ Linked Lists.
Advertisements

CATHERINE AND ANNIE Python: Part 3. Intro to Loops Do you remember in Alice when you could use a loop to make a character perform an action multiple times?
Lecture 6: Software Design (Part I)
OBJECT ORIENTED PROGRAMMING (OOP) IN PYTHON David Moodie.
6-1 Chapter Goals Determine whether a problem is suitable for a computer solution Describe the computer problem-solving process and relate it to Polya’s.
Copyright © 2012 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with Alice: A Visual Introduction to Programming Third Edition.
Debugging Introduction to Computing Science and Programming I.
1 Programming for Engineers in Python Autumn Lecture 5: Object Oriented Programming.
Algorithms and Problem Solving-1 Algorithms and Problem Solving.
Algorithms and Problem Solving. Learn about problem solving skills Explore the algorithmic approach for problem solving Learn about algorithm development.
The Rhapsody in C++ Tool Training "Essential" © I-Logix v2.3 25/9/2000 Adv-1 Essential Rhapsody in C++ Section 4 Advanced Level Modified.
FALL 2006CENG 351 Data Management and File Structures1 External Sorting.
The Event as an Object-Relational Database: Avoiding the Dependency Nightmare Christopher D. Jones Cornell University, USA.
What Does it Take to Learn 'Programming Thinking'? Anna Eckerdal, Anders Berglund Dept. of Information Technology Uppsala University Sweden.
Chapter 7 Designing Classes. Class Design When we are developing a piece of software, we want to design the software We don’t want to just sit down and.
Advanced Web 2012 Lecture 4 Sean Costain PHP Sean Costain 2012 What is PHP? PHP is a widely-used general-purpose scripting language that is especially.
Functions & Objects IDIA 618 Spring 2012 Bridget M. Blodgett.
GENERAL CONCEPTS OF OOPS INTRODUCTION With rapidly changing world and highly competitive and versatile nature of industry, the operations are becoming.
Welcome to OBJECT ORIENTED PROGRAMMIN Date: 10/09/2014 Prepared By Prepared By : VINAY ALEXANDER PGT(CS) KV jhagrakhand.
Objective: To convert numbers into standard index form
Choose between Access and Excel Right questions, right program If you’re having trouble choosing between Access and Excel, take a moment to answer an important.
General Programming Introduction to Computing Science and Programming I.
CS 325: Software Engineering March 17, 2015 Applying Patterns (Part A) The Façade Pattern The Adapter Pattern Interfaces & Implementations The Strategy.
Excel Chapters -5,6. Pivot Table  When you have a lot of data, it can sometimes be difficult to analyze all of the information in your worksheet.  PivotTables.
Software Life Cycle Requirements and problem analysis. –What exactly is this system supposed to do? Design –How will the system solve the problem? Coding.
By John Frezza Click here to begin slide show ? Difficult! Confusion! Too Hard ? ? ? ? ? Multiply Why! Help Me!
Copyright © 2012 Pearson Education, Inc. Chapter 13: Introduction to Classes.
Working With Objects Tonga Institute of Higher Education.
Introduction to programming in the Java programming language.
Refactoring 2. Admin Blackboard Quiz Acknowledgements Material in this presentation was drawn from Martin Fowler, Refactoring: Improving the Design of.
The Software Development Process
CS 3050 Object-Oriented Analysis and Design. Objectives What is “Object-Oriented?” Object-Oriented Approach Vs. Structured Approach How Has the Object-Oriented.
Beginning Fortran Fortran (77) Advanced 29 October 2009 *Black text on white background provided for easy printing.
Software Design Patterns Curtsy: Fahad Hassan (TxLabs)
Alternative Algorithms for Addition and Subtraction If we don’t teach them the standard way, how will they learn to compute?
Advanced Object-oriented Design Patterns Creational Design Patterns.
Object Oriented Programming Criteria: P2 Date: 07/10/15 Name: Thomas Jazwinski.
OOPS CONCEPT.  OOPS  Benefits of OOPs  OOPs Principles  Class  Object Objectives.
PaintPictureBoxDemo Refers to the PaintPictureBoxDemo Visual Basic Program Included With The Lecture.
Algorithms and Problem Solving. Learn about problem solving skills Explore the algorithmic approach for problem solving Learn about algorithm development.
DIFFERENTIATION STRATEGIES WELCOME Differentiation Strategies: How to Meet the Instructional Needs of Each Student in Your Classroom DOE# IS Brandman.
Today… Modularity, or Writing Functions. Winter 2016CISC101 - Prof. McLeod1.
Using Audacity Let’s get Started Open Audacity. Getting started…
Data Models. 2 The Importance of Data Models Data models –Relatively simple representations, usually graphical, of complex real-world data structures.
Welcome to OBJECT ORIENTED PROGRAMMING Prepared By Prepared By : VINAY ALEXANDER PGT(CS) KV jhagrakhand.
Sadegh Aliakbary Sharif University of Technology Fall 2010.
A High Flying Overview CS139 – Fall 2010 How far we have come.
Algorithms and Flowcharts
NUMERACY EVENING Welcome. WHAT ARE WE GOING TO DO THIS EVENING? Pencil & paper procedures for the four operations, +,-,x & ÷ (language) Consistent, progressive.
Mental Arithmetic Strategies Scotts Primary School. Mental Arithmetic Scheme.
Mathematics Evening Welcome.
The Object-Oriented Thought Process Chapter 03
AP CSP: Creating Functions & Top-Down Design
JavaScript/ App Lab Programming:
Introduction to Computing Science and Programming I
Mental Arithmetic Strategies
COMPUTATIONAL CONSTRUCTS
Systems Analysis and Design
While multiplying larger numbers involves more steps, it’s not necessarily more challenging. If you know the steps to organize the process. So, what strategies.
Programs – Dynamic Linking and Loading
INTRODUCTION TO OBJECT-ORIENTED PROGRAMMING (OOP) & CONCEPTS
Explain what touch develop is to your students:
Unit-2 Objects and Classes
An Introduction to Object Orientated Programming
Algorithms and Problem Solving
CSCI 130 Classes and Objects.
CENG 351 Data Management and File Structures
Object-Oriented Programming (OOPs)
Object-Oriented Programming and class Design
Presentation transcript:

Hirophysics.com Steven Jeffrey K irkup

Hirophysics.com What is Object Oriented Programming (OOP)? Essentially, OOP is a protocol that can be followed to build or compose a program other than the traditional way of writing them, called “procedural programming.” Where procedural is a straightforward method of programming—involving commands, etc. written out whenever they’re needed,— OOP involves grouping pieces of the program into “objects,” and is considered a more advantageous and advanced method.

Hirophysics.com SO WHAT?

Hirophysics.com  OOP is a way of programming that makes it easier for multiple people to work on creating a program without running the risk of damaging each other’s work.  For long, complex programs, the amount of writing involved in the program ends up being smaller, so... Less More

Hirophysics.com Objects?  Objects are the building blocks of OOP.  At the beginning of the program, you state what they are and define them.  An object can be anything you could need in a program: a variable or set of variables, a value or set of values, a calculation, an algorithm, an output/input method, etc.

Hirophysics.com Classes  Classes are what objects are grouped in. Multiple classes are helpful for long, complicated programs that may need certain calculations or procedures separate from the other data or data-collecting classes.  Within the classes, calculations and the like are defined as “methods”, and input/output commands and long algorithms are defined as “constructors.”

Hirophysics.com  OBJECTS (entities)  CONSTRUCTOR (properties)  METHODS (toolkit) ACTUAL PROGRAM

Hirophysics.com Constructor  Constructors are sections of the program that essentially “construct” objects. It’s sort of like the backbone of the program and its structure.  If a variable needs some initial value, that value would be introduced in a constructor.  If an object needs to follow certain parameters, those are attributed to it in a constructor.  Anytime the program calls upon an object, it must “look at” the constructor to see how to set the object up. This is very important for resetting values and not messing up the program.

Hirophysics.com Instances  When a program needs to use an object, it creates an instance of that object. Basically, and instance is a clone entity of the object that can be used by the program.  Once a clone has been made, the program must look at the constructor to set up the clone’s parameters.  Without the constructor, multiple instances of the same object couldn’t be unique and hold their own unique data.

Hirophysics.com Methods/Calculations  This section of the program is where calculations, algorithms, etc. are set up. They are considered objects, and their specific functions are depicted in this section.  Example: Input/output commands can be put in this section

Hirophysics.com Building onto a program A major advantage of OOP is its smart, safe way of advancing/adding onto a program. This can be done by simply adding objects or classes of objects to the current list and adding the commands to use them in the “main” part of the program. For example, you can go from this....

Hirophysics.com...to this.

Hirophysics.com Converting from Procedural to OOP  Turn data records into objects  Break up behavior  Move behavior into the objects

Hirophysics.com Volume of a sphere finding program converted to OOP

Hirophysics.com Problems I experienced  The overall understanding of where to group objects wasn’t very difficult  My biggest difficulty was getting the program language to work properly, specifically converting the “creating a data file” commands and keeping track of what to put in parentheses at the beginning of each section.

Hirophysics.com Essentially...  OOP is a way of programming that resembles putting together a puzzle.  The objects are your puzzle pieces.  First you state what all your pieces are and describe what they do.  At the end of the program, you finally fit them together.

Hirophysics.com Tips for getting into OOP  If you’re interested in programming in OOP or you have already tried and find it too complicated or tedious....  Don’t give up! A good strategy for advancing in OOP is to look at many example programs and try making a bunch of your own.  A good exercise is to convert a procedural program you have into an OOP.  With practice comes a better understanding.

Hirophysics.com Final Thoughts  I find the conceptual difference between procedural and OOP to be...  Procedural follows the logical order a program would follow  OOP breaks that order apart, but for advanced programming, the ultimate goal of your program is easier to attain. (It’s easier to keep track of “the bigger picture”)  As long as you understand the programming language, switching to OOP isn’t too difficult