object oriented technologies
DESCRIPTION
The semonar given at, K.K. Wagh Polytechnic, Second Shift (Nashik) on 06/08/2011. Class: SY and TY IT Students. Name: Tushar B Kute, SITRC Nashik.TRANSCRIPT
Object Oriented Technologies
Tushar B KuteAssistant Professor in I.T.Sandip Institute of Technology & Research Centre, Nashik
Programming Paradigms
Procedure Oriented Object Oriented
3R
Readability Reusability Reliability
Procedure Oriented Programming
Procedures / Functions are used to form a modular program.
For example: C Pascal Cobol
Example: C Program
#include<stdio.h>int main( ){
. . . . . . }void display( ){
. . . . . .}int addme(int a, int b){
. . . . . .}
Object Oriented Techniques
ADT Polymorphism Inheritance
Abstract Data Type
Denotes the essential characteristics of an object that distinguish it from all other kinds of things.
ADT = data representation + its operations
Information hiding Encapsulation
Abstract Data Type
state, implemented by attributes behaviour, implemented by
operation identity
Abstract Data Type
class object instance encapsulation method message protocol
Abstract Data Type
Class A class is a blueprint for creating objects. It is like a data type in traditional language.
Instance An instance is a particular element of a class. It is like a variable in traditional language.
Polymorphism
Monomorphism every values & variables is interpreted to be of one and only one type.
Polymorphism some variables may have more than one type.
Polymorphism
Binding
static or early bindingaddInt(x, y)addFloat(x, y)
dynamic or lateadd(x, y)
Polymorphism
universal polymorphism1. parametric (ex) generic function2. inclusion (ex) subtyping, inheritance mechanism
ad hoc. polymorphism1. overloading (ex) +2. coercion (ex) 3 + 4.5
Example:
int add (int a, int b) float add (float a, int b) float add (float a, float b)
int add (int a, int b, int c) float add (int a, float b, int c)
Inheritance
vehiclevehicle
landvehicle
landvehicle
watervehicle
watervehicle
airvehicle
airvehicle
carcar trucktruck canoecanoe submarinesubmarine jetjet rocketrocket
18-wheeler18-wheeler pickuppickup
Inheritance
Kind-of Part-of
Inheritance
A room is a part of a house.A kitchen is a kind of room.
A boat is a part of a fleet.A cruiser is a kind of a boat.
A child is a part of a family.A son is a kind of a child.
A word is a part of a sentence.A noun is a kind of a word.
Problem Solving using OOP
Behaviour of a system (otherwise the state of the system) is exposed through the change of some characteristics.
paint new color
Property name : surface-color
Property value ; green
Property name : surface-color
Property value ; red
The force that change surface-color is PAINT action
Class
Class Describes an object, description includes properties (attributes) and methods the object can perform
CD_Drive {
boolean _latchState
boolean _contentState
openLatch()
closeLatch()
insert()
eject()
}
Object
Description about CD-Driver
Each object consume its own space (Identity)
Abstraction
Class wraps necessary details of the object and expose few through interface
Interface or method is communication point. Interface or method can be invoked on an
object.
CD_Drive lg
CD_Drive segate
lg.openLatch();
Object Oriented Languages Objects are supported. Objects are organized into classes. Classes are organized into
hierarchies using inheritance. An object communicates by sending
messages to invoke the operations of other objects
Objects of varying types respond to the same message differently using polymorphism.
Object Oriented Programming Languages
First object-oriented language, Simula at 1967.
Proved by Smalltalk at 1976. C++, Effiel, Common Lisp, Object-
Pascal, ... appeared at late 1970s. Object-oriented programming
environments matured at 1980s. User interface (1980s) : WIMP,
Dynabook, Apple Lisa and Macintosh, Window systems..
Object Oriented Programming Languages
Java appeared at 1995 C# by Microsoft at 2001
Object Oriented Languages
Ada CLU C++ Modula-2 Objective-C Smalltalk CLOS (Lisp) Java C#
Object Oriented Languages
C++
AT&T designed by Bjarne Stroustrup ANSI-C compatible OOP
Object Oriented Languages
JAVA
Designed at SUN by James Gosling and team
C/C++ syntax compatible True OOP ByteCode JVM
Industrial Importance of OOT
Java J2SE J2EE J2ME
Microsoft Visual Studio.net PHP
Market Share in I.T.
62 percent technologies are based on Java
22 percent are on .net 16 percent are on others…
Thank You