 OOPLs  Help companies reduce complexity  Increase competition in open markets  Speeds up development  Improves maintenance, resusability, modifiability.

Slides:



Advertisements
Similar presentations
Understand and appreciate Object Oriented Programming (OOP) Objects are self-contained modules or subroutines that contain data as well as the functions.
Advertisements

OO Programming in Java Objectives for today: Overriding the toString() method Polymorphism & Dynamic Binding Interfaces Packages and Class Path.
COM vs. CORBA.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science Emery Berger University of Massachusetts Amherst Operating Systems CMPSCI 377 Lecture.
OBJECT ORIENTED PROGRAMMING M Taimoor Khan
Chapter 1 Object-Oriented System Development
Object-Oriented Design & Programming Fawzi Emad Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
Chapter Object-Oriented Practices. Agenda Object-Oriented Concepts Terminology Object-Oriented Modeling Tips Object-Oriented Data Models and DBMSs.
Programming Language Paradigms: summary. Object-oriented programming Objects are the fundamental building blocks of a program. Interaction is structured.
A brief look at CORBA. What is CORBA Common Object Request Broker Architecture developed by OMG Combine benefits of OO and distributed computing Distributed.
Object Oriented System Development with VB .NET
CORBA Case Study By Jeffrey Oliver March March 17, 2003CORBA Case Study by J. T. Oliver2 History The CORBA (Common Object Request Broker Architecture)
OBJECT ORIENTED PROGRAMMING What is Object Oriented Software? Software based on the creation of objects An object is a “black box” which receives and.
Scripting Languages For Virtual Worlds. Outline Necessary Features Classes, Prototypes, and Mixins Static vs. Dynamic Typing Concurrency Versioning Distribution.
The Object Oriented Programming Languages (OOPL). Done by: Tayeb El Alaoui Supervised by: Dr Driss Kettani.
Principles of Object-oriented Programming Programming Language Paradigms August 26, 2002.
Object-Oriented Databases
1 CMSC 132: Object-Oriented Programming II Software Development IV Department of Computer Science University of Maryland, College Park.
Java Programming, 3e Concepts and Techniques Chapter 1 An Introduction to Java and Program Design.
Communication in Distributed Systems –Part 2
Object-oriented design CS 345 September 20,2002. Unavoidable Complexity Many software systems are very complex: –Many developers –Ongoing lifespan –Large.
JAVA v.s. C++ Programming Language Comparison By LI LU SAMMY CHU By LI LU SAMMY CHU.
Chapter 2 Architectural Models. Keywords Middleware Interface vs. implementation Client-server models OOP.
Java Programming, 2E Introductory Concepts and Techniques Chapter 1 An Introduction to Java and Program Design.
Comparison of OO Programming Languages © Jason Voegele, 2003.
Programming Languages and Paradigms Object-Oriented Programming.
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 2: Modelling.
OOPs Object oriented programming. Based on ADT principles  Representation of type and operations in a single unit  Available for other units to create.
Quality Attributes of Web Software Applications – Jeff Offutt By Julia Erdman SE 510 October 8, 2003.
COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department.
CSE 501N Fall ‘09 15: Polymorphism October 22, 2009 Nick Leidenfrost.
Object-Oriented Programming Languages (OOPLs) An Introduction.
CS 403 – Programming Languages Class 25 November 28, 2000.
Unified Modeling Language, Version 2.0
Ranga Rodrigo. The purpose of software engineering is to find ways of building quality software.
Introduction To System Analysis and Design
Chapter 6 Object-Oriented Java Script JavaScript, Third Edition.
Introduction and Features of Java. What is java? Developed by Sun Microsystems (James Gosling) A general-purpose object-oriented language Based on C/C++
Introduction to Object Oriented Programming CMSC 331.
SNPL1 Woochang Lim What (Variable) + How (Function) = Object Objects are the physical and conceptual things we find in the universe around us. Object-Oriented.
OOPLs /FEN March 2004 Object-Oriented Languages1 Object-Oriented Languages - Design and Implementation Java: Behind the Scenes Finn E. Nordbjerg,
Chapter 12 Support for Object oriented Programming.
CT1513 Introduction To java © A.AlOsaimi.
ITEC 3220A Using and Designing Database Systems Instructor: Gordon Turpin Course Website: Office: CSEB3020.
Chapter 12 Support for Object-Oriented Programming.
Object-Oriented Programming Chapter Chapter
C++ The reason why it is still in use. Table of Contents Disadvantages Disadvantages Advantages Advantages Compare with object-oriented programming language.
Inheritance Revisited Other Issues. Multiple Inheritance Also called combination--not permitted in Java, but is used in C++ Also called combination--not.
OOPs Object oriented programming. Abstract data types  Representationof type and operations in a single unit  Available for other units to create variables.
ISBN Object-Oriented Programming Chapter Chapter
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
CSI 3125, Preliminaries, page 1 SERVLET. CSI 3125, Preliminaries, page 2 SERVLET A servlet is a server-side software program, written in Java code, that.
1 Unified Modeling Language, Version 2.0 Chapter 2.
What is Java? Object Oriented Programming Language Sun Microsystems “Write Once, Run Everywhere” Bytecode and Virtual Machine Java Platform (Java VM and.
Lesson 1 1 LESSON 1 l Background information l Introduction to Java Introduction and a Taste of Java.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
A Survey of Object-Oriented Concept Oscar Nierstrasz.
Lecture 2 Intro. To Software Engineering and Object-Oriented Programming (2/2)
C++ General Characteristics: - Mixed typing system - Constructors and destructors - Elaborate access controls to class entities.
ISBN Chapter 12 Support for Object-Oriented Programming.
Chapter 12: Support for Object- Oriented Programming Lecture # 18.
1 Design Object Oriented Solutions Object Oriented Analysis & Design Lecturer: Mr. Mohammed Elhajj
Applications Active Web Documents Active Web Documents.
CORBA Alegria Baquero.
Types of Programming Languages
CORBA Alegria Baquero.
More Object-Oriented Programming
Support for Object-Oriented Programming
Presentation transcript:

 OOPLs  Help companies reduce complexity  Increase competition in open markets  Speeds up development  Improves maintenance, resusability, modifiability of software

 O-O improves efficiency in development and maintainance  Decreases complexity  Scalable Distributed Systems

 AT&T Bell Labs project using OOPL found  30% reduction in development time  20% reduction in staff effort  Able to reuse the code in many other projects

 Object and Class  Object being a black box  Objects are individual instances of a class

 Properties  Inheritance  Polymorphism  Dynamic Binding  Encapsulation  Information Hiding

 Smalltalk  C++  Java  Eiffel

 Pure OOL  Run-time binding  Objects can do 3 things  Hold state  Receive a message  Send a message to itself or another object

 Compatible with C  Fast and efficient  Utilizes compile-time binding  High run-time efficiency with small code size  Trades off some power to reuse classes

 Portable, can be used on any web- enabled computer  Mixture of C++ and Smalltalk  Syntax of C++ but improved upon it  Garbage Collection  Virtual Machine

 Portable  Open System  Design by Contract  Automatic Documentation  Multiple Inheritance  Repeated Inheritance  Statically Typed  Dynamically Bound

 Eiffel – Statically typed  C++ - Statically typed (however the language supports C-style “casts” which really amount to invitations to violate type rules  Java – typed, mostly statically but dynamic typing is required for generic container structures  Smalltalk – Dynamically typed

 Eiffel – Combination of interpretation and compilation in same environment  C++ - Usually complied  Java – Usually mix of interpretation and “on-the-fly” compilation  Smalltalk – Historically interpreter-based, currently mix of interpretation and compliation

 Eiffel – Efficiency and portability  C++ - Efficiency, maintainability, portability and functionality  Java – Maintainability, Usability, Functionality, and Portability  Smalltalk – Functionality and Maintainability

 Eiffel can generate many views, graphical or textual  Class interfaces  Inheritance hierarchies  High level “bubbles and arrows”  Diagrams

 Eiffel – Multiple and repeated inheritance, widely used  C++ Multiple inheritance (though discouraged by many for various problems)  Java – Single inheritance (but multiple interface facility)  Smalltalk – Single Inheritance

 Java RMI (Remote Method Invocation)  Communicates between networking and distributed computing  Uses a proxy object  Can have many types  Client can find out what service was returned

 Used worldwide for commercial, DoD, and other government projects  Less complexity = increase in maintainability  OOPL must treat the O-O paradigm to gain the benefits