Introduction Object-Oriented Programming Reprise

Slides:



Advertisements
Similar presentations
An Introduction to Visual Basic Terms & Concepts.
Advertisements

Programming Paradigms and languages
Department of Computer Engineering Faculty of Engineering, Prince of Songkla University 1 5 – Abstract Data Types.
BITS Pilani Avinash Gautam Department of Computer Science and Information Systems.
Basic OOP Concepts and Terms
Principles of Object-oriented Programming Programming Language Paradigms August 26, 2002.
CSCI-383 Object-Oriented Programming & Design Lecture 15.
Optimization Problems Minimum Spanning Tree Behavioral Abstraction.
The chapter will address the following questions:
 Computer Science 1MD3 Introduction to Programming Michael Liut Ming Quan Fu Brandon.
Java Programming, 2E Introductory Concepts and Techniques Chapter 1 An Introduction to Java and Program Design.
UFCEUS-20-2 : Web Programming Lecture 5 : Object Oriented PHP (1)
PZ01A Programming Language design and Implementation -4th Edition Copyright©Prentice Hall, PZ01A -- Introduction Programming Language Design and.
Introduction to Object-oriented programming and software development Lecture 1.
An Introduction to Visual Basic
Event Driven Programming
Python Mini-Course University of Oklahoma Department of Psychology Day 2 – Lesson 6 Program Design 4/18/09 Python Mini-Course: Day 2 - Lesson 6 1.
Requirements To Design--Iteratively Chapter 12 Applying UML and Patterns Craig Larman.
1 Introduction Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Sections
Java Programming, 2E Introductory Concepts and Techniques Chapter 1 An Introduction to Java and Program Design.
Basic OOP Concepts and Terms. In this class, we will cover: Objects and examples of different object types Classes and how they relate to objects Object.
 Computer Science 1MD3 Introduction to Programming Michael Liut Ming Quan Fu Brandon.
CS 3050 Object-Oriented Analysis and Design. Objectives What is “Object-Oriented?” Object-Oriented Approach Vs. Structured Approach How Has the Object-Oriented.
Introduction to Classes and Objects. Real Life When a design engineer needs an electrical motor he doesn’t need to worry about –How a foundry will cast.
What is Alice? Alice is an innovative 3D programming environment that makes it easy to create an animation for telling story, playing an interactive game,
Copyright 2006 Oxford Consulting, Ltd1 January Introduction to C++ Programming is taking A problem Find the area of a rectangle A set of data.
Software: Systems and Applications Software. The Importance of Software in Business time 1950today $ Software Hardware High Low.
1 SYS366 Week 1 - Lecture 1 Introduction to Systems.
Visual Basic.NET Comprehensive Concepts and Techniques Chapter 1 An Introduction to Visual Basic.NET and Program Design.
Java Programming, 3e Concepts and Techniques Chapter 1 Section 56 – An Introduction to Java.
1 THE OBJECT-ORIENTED TECHNOLOGY: An Executive Summary 서울대학교 컴퓨터공학부 Internet Database Lab 교수 김형주 Spring 2007.
Engineered for Tomorrow Unit:8-Idioms Engineered for Tomorrow sharmila V Dept of CSE.
 The Object Oriented concepts was evolved for solving complex problems. Object- oriented software development started in the 1980s. Object-oriented design.
Object Oriented Systems Design
Introduction to Visual Basic. NET,. NET Framework and Visual Studio
CSC 222: Object-Oriented Programming
CSC 222: Object-Oriented Programming
Chapter 3 Program Design
Programming paradigms
Sachin Malhotra Saurabh Choudhary
UNIT 1.
The Object-Oriented Thought Process Chapter 15
Programming in Java Sachin Malhotra, Chairperson, PGDM-IT, IMS Ghaziabad Saurabh Chaudhary, Dean, Academics, IMS Ghaziabad.
March 29 – Testing and Priority QUeues
CSC 222: Object-Oriented Programming
OBJECT ORIENTED PROGRAMMING overview
INTRODUCTION TO OBJECT-ORIENTED PROGRAMMING (OOP) & CONCEPTS
INTRODUCTION TO OOP Objective:
C++.
The Object-Oriented Thought Process Chapter 08
An Introduction to Visual Basic
An Introduction to Visual Basic .NET and Program Design
Andrew J. Ko & Brad A. Myers Carnegie Mellon University
Subprograms and Programmer Defined Data Type
Introduction to Components and Specifications Using RESOLVE
Object Oriented Theory I
Classes and Objects housefly object Insect class mosquito object
Basic Object Oriented Approach
Object oriented analysis and design
Abstraction in Object-Oriented Programming
CIS601: Object-Oriented Programming in C++
Introduction Object-Oriented Programming
Lecture 8 Programming Paradigm & Languages. Programming Languages The process of telling the computer what to do Also known as coding.
강의 내용 및 방법 접근방법 리포트 시험 Lambda Calculus, Proof of Correctness
Basic OOP Concepts and Terms
Object-Oriented PHP (1)
2.1 Introduction to Object-Oriented Programming
Event loops.
Abstraction and Objects
Blue Prism Tutorial Every organization wants to lower its costs and keep up with change. Using technology effectively is an important part of doing both.
Presentation transcript:

Introduction Object-Oriented Programming Reprise

The Journey So Far Procedural Programming using Pseudocode You are here

The Destination Procedural Programming Object Oriented Programming using Pseudocode using Java

Introduction You have now have a taste of programming in a real language Now we move more deeply into the Object Oriented Programming Paradigm The Object Oriented paradigm is a significant factor in modern programming Typical OO Languages include C++, Smalltalk and, of course, Java.

Object Oriented Programming A different programming style A different way of thinking Origins Problems with very large systems becoming unmanageable (> 100,000 lines of code) Graphical User Interfaces (e.g. Macintosh, Windows) required a different way of programming due to complex interactions of windows, mouse clicks, etc. Xerox PARC: Smalltalk C++ as an enhancement to C Java as a Web language

To be more specific...

The Scenario Items Recall the concept of a Queue: Defined by a set of behaviors Enqueue to the end Dequeue from the front First in, first out Items

Where is the Queue? The logical idea of the queue consisted of: Data stored in some structure (list, array, etc.) Modules to act on that data But where is the queue? We’d like some way of representing such a structure in our programs.

Why? We would like to have reusable “drop-in” programming components we could use to solve problems. We would like to encapsulate the data and the behaviors in order to “protect” it from misuse. We would like clear interfaces between different parts of programs We would like a programming system that was extensible We would like a programming language that would be excellent for modeling real world objects

Issues As is, there is no way to “protect” against violating the specified behaviors. Procedure Enqueue Procedure Dequeue The Queue Data Sneak into Middle

Issues If our queue could somehow be packaged we could drop in a “queue object” whenever we needed it. Queue Acme Manufacturing

Issues We’d like a way to put a “wrapper” around our structure to protect against intrusion. Queue Acme Manufacturing Enqueue Dequeue Sneak into Middle

Issues Contract The party of the first part hereinafter known as the queue agrees to... The party of the second part hereinafter known as the application agrees to... Clear lines of responsibility

Issues I need a queue that can tell me how many items it contains... Queue Enqueue Dequeue Acme Manufacturing “Magic Process” CountingQueue Acme Manufacturing Enqueue Dequeue Size

$ Issues Signal Elevator Signal Object Elevator Object Student Student Car Object Car $ BankAccount BankAccount Object Real World Objects!

Questions Why do we have the procedural paradigm and the object oriented paradigm? Is procedural programming used for certain problems and object oriented programming used for others?