Presentation is loading. Please wait.

Presentation is loading. Please wait.

Prachet Bhuyan Assistant Professor, CSE,SOT, KIIT University

Similar presentations


Presentation on theme: "Prachet Bhuyan Assistant Professor, CSE,SOT, KIIT University"— Presentation transcript:

1 Prachet Bhuyan Assistant Professor, CSE,SOT, KIIT University
OBJECT BASICS (CH-2) Prachet Bhuyan Assistant Professor, CSE,SOT, KIIT University KIIT CSE/IT (OOSD)

2 Topics to be Discussed INTRODUCTION AN OBJECT ORIENTED PHILOSOPHY
OBJECTS CLASSES OBJECT RESPONDS TO MESSAGES OBJECT RELATIONSHIP AND ASSOCIATIONS CONSUMER-PRODUCER ASSOCIATION AGGREGATION AND OBJECT CONTAINMENT KIIT CSE/IT (OOSD)

3 INTRODUCTION What is an object ?
Ans: A car is an object; a real world entity , identifiably separate from its surroundings. Car has well defined attributes: Color Manufacturer Cost Owner KIIT CSE/IT (OOSD)

4 1. INTRODUCTION contd…. Car has well defined set of things we do with it(i.e methods) : Drive it Lock it Tow it Carry passenger What do object have to do with system development ? KIIT CSE/IT (OOSD)

5 1. INTRODUCTION contd…. Properties or attributes describe the state (data) of an object. Methods (procedures) defines its behavior. KIIT CSE/IT (OOSD)

6 2. AN OBJECT ORIENTED PHILOSOPHY
Most programming languages are computationally equivalent (a proces describable in one is describable in another). But the difference comes among them are : The ease of description Reusability Extensibility Readability Computational efficiency Ability to maintain the description KIIT CSE/IT (OOSD)

7 2. AN OBJECT ORIENTED PHILOSOPHY contd….
It has been said that one should speak: English for business German for engineering Persian for poetry A similar quip can be made for programming languages. Traditional languages were more machine dependant KIIT CSE/IT (OOSD)

8 2. AN OBJECT ORIENTED PHILOSOPHY contd….
Fundamental characteristic of OOP is that it allows the base concepts of the language to be extended to include ideas and terms closer to those of its application. New data types can be defined in terms of existing data types. FUNDAMENTAL DIFFERENCE BETWEEN THE OBJECT ORIENTED SYSTEMS AND TRADITIONAL SYSTEMS ARE: KIIT CSE/IT (OOSD)

9 2. AN OBJECT ORIENTED PHILOSOPHY contd….
Traditional Systems: Most traditional development methodologies are either algorithm centric or data centric. In an algorithm centric methodology you can think of an algorithm that can accomplish the task, then build data structures for that algorithm to use. In a data centric methodology, you think how to structure the data, then build the algorithm around that structure. KIIT CSE/IT (OOSD)

10 2. AN OBJECT ORIENTED PHILOSOPHY contd….
In traditional approach a lot of code was written to do all the things that have to be done. The code is the plan, brick, and mortar for building a structure(Code Centric). Code is the active entity here. KIIT CSE/IT (OOSD)

11 2. AN OBJECT ORIENTED PHILOSOPHY contd….
Object-Oriented Systems: Here the algorithm and the data structures are packaged together as an object, which has a set of attributes or properties. The state of these attributes is reflected in the values stored in its data structures. Objects has a collection of methods or procedures Attributes and methods are equal and inseparable parts of the object KIIT CSE/IT (OOSD)

12 2. AN OBJECT ORIENTED PHILOSOPHY contd….
It is more like employing a lot of helpers that take on an active role & form a community whose interactions become the application. OOP languages bridge the semantic gap between the ideas of the application and those of the underlying machine & Objects represent the application data in a way that is not forced by hardware architecture. KIIT CSE/IT (OOSD)

13 3. OBJECTS The term object was first utilized in the Simula language.
The term object means a combination of data and logic that represent some real world entity. Eg: A Porsche automobile can be represented in a computer program as an object KIIT CSE/IT (OOSD)

14 3. OBJECTS contd…. Find “data” & “logic” part of this car.
The “data” part of this object would be: Car’s name , color, number of doors, price etc The “logic” part of the object could be collection of program: Show mileage, change mileage, stop, go KIIT CSE/IT (OOSD)

15 3. OBJECTS contd…. When developing an object-oriented application, two basic questions always arise: What objects does the application need ? What functionality should those object have ? Programming in an object-oriented system consists of adding new kinds of objects to the system an defining how they behave. Eg: of objects: Windows, Spreadsheet, etc. KIIT CSE/IT (OOSD)

16 4. CLASSES Classes are used to distinguish one type of object from another. Eg: class eagle or class airplane, class car. As per O-O systems, a class is a set of objects that share a common structure and a common behavior; a single object is simply an instance of a class. A class is a specification of structure (instance variables), behavior (methods), and inheritance for objects. KIIT CSE/IT (OOSD)

17 5. OBJECT RESPONDS TO MESSAGES
Object capabilities are determined by the methods defined for it. Methods are conceptually equal to the function definitions used in procedural language. Objects perform operations in response to messages. Eg: When you press on the break pedal of a car, you send a stop message to the car object. KIIT CSE/IT (OOSD)

18 5. OBJECT RESPONDS TO MESSAGES contd….
Messages essentially are nonspecific function calls. A message is different from a subroutine call; how ? Since different objects can respond to the same message in different way. KIIT CSE/IT (OOSD)

19 Eg: Cars, motorcycles & bicycles will all respond to a stop message but differently.
KIIT CSE/IT (OOSD)

20 5. OBJECT RESPONDS TO MESSAGES contd….
NOTE: Messages makes no assumptions about the class of the receiver or the arguments; they are simply objects. It is the receiver’s responsibilities to respond to the message appropriately. This gives flexibility, as different objects can respond to the same message in different ways. This is known as polymorphism. It is the main difference between a message and a subroutine call. KIIT CSE/IT (OOSD)

21 Difference Between Message & Method
Vegetable Biriyani Instruction Way it is Prepared 1.Cook Rice 2.Wash All the vegetables. 3. Marinate the same with Yogurt & ginger-garlic paste for about an hour. 4Heat a fry-pan with Oil , add Onions etc 5.Cover & let it sit for a few minutes before serving. MESSAGE METHOD OBJECT KIIT CSE/IT (OOSD)

22 5. OBJECT RESPONDS TO MESSAGES contd….
In other words, message is the instruction and the method is the implementation. Objects respond to messages according to methods in its class. Brake Car Object ………………………………….…… * 7 ………………………………….…… 5 Object KIIT CSE/IT (OOSD)

23 5. OBJECT RESPONDS TO MESSAGES contd….
A message has a name, just like a method, such as cost, set cost, cooking time. An object understands a message when it can match the message to a method that has a same name as the message. A message differs from a function in that a function says “how to do something” and a message says “what to do”. KIIT CSE/IT (OOSD)

24 Some more O-O Concepts Encapsulation & Information hiding.
Class Hierarchy Single Inheritance Multiple Inheritance Multilevel Inheritance Dynamic Inheritance: Allows objects to change and evolve over time. It refers to the ability to add, delete, or change parents from objects(or Classes) at run time. Eg: Window object changing to an icon and a Vice versa. Polymorphism KIIT CSE/IT (OOSD)

25 6. OBJECT RELATIONSHIP AND ASSOCIATIONS
ASSOCIATIONS represents the relationships between objects and classes. Cardinality specifies how many instances may relate to a single instance of an associated class. Eg: one or many, one to many etc Multiplicity value (i.e the number of objects that participate in the association) Can fly Flown by PILOT AIRPLANES KIIT CSE/IT (OOSD)

26 KIIT CSE/IT (OOSD)

27 6. OBJECT RELATIONSHIP AND ASSOCIATIONS contd….
Notations associated in an association: Eg: KIIT CSE/IT (OOSD)

28 7. CONSUMER-PRODUCER ASSOCIATION
It is a special form of association also known as client-server association or use relationship. It is viewed as one-way interaction. Request for printing PrintServer Item PRODUCER provides service CONSUMER object requests service KIIT CSE/IT (OOSD)

29 8. AGGREGATION AND OBJECT CONTAINMENT
Some objects may be composed of and may contain other objects. Since each object has an identity, one object can refer to other objects. This is known as AGGREGATION, where an attribute can be an object itself. Eg: A car object is an aggregation of engine, seat, wheels, and other objects. KIIT CSE/IT (OOSD)

30 8. AGGREGATION AND OBJECT CONTAINMENT contd….
Fig:A car object showing aggregation. Car Engine Seat Wheel KIIT CSE/IT (OOSD)

31 CASE STUDY Do Self Study of A PAY ROLL PROGRAM of both Structured Approach and O-O Approach. KIIT CSE/IT (OOSD)

32 SUMMARY AN OBJECT ORIENTED PHILOSOPHY
OBJECTS its methods & attributes. CLASSES OBJECT RESPONDS TO MESSAGES DIFFERENCE B/W A MESSAGE & METHOD OBJECT RELATIONSHIP AND ASSOCIATIONS CONSUMER-PRODUCER ASSOCIATION AGGREGATION AND OBJECT CONTAINMENT KIIT CSE/IT (OOSD)


Download ppt "Prachet Bhuyan Assistant Professor, CSE,SOT, KIIT University"

Similar presentations


Ads by Google