Abstract Data Type Denotes the essential characteristics of an object that distinguish it from all other kinds of things. ADT = data representation + its operations I nformation 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 binding addInt (x, y) addFloat (x, y) dynamic or late add(x, y)
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 vehicle land vehicle water vehicle air vehicle car truck canoe submarine jet rocket 18-wheeler pickup
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…