Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: " OOPLs  Help companies reduce complexity  Increase competition in open markets  Speeds up development  Improves maintenance, resusability, modifiability."— Presentation transcript:

1

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

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

4  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

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

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

7  Smalltalk  C++  Java  Eiffel

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

9  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

10  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

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

12  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

13  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

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

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

16  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

17  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

18  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


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

Similar presentations


Ads by Google