0% found this document useful (0 votes)
8 views

Lecture 05

Oop lectures

Uploaded by

ahmedrazamalik62
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views

Lecture 05

Oop lectures

Uploaded by

ahmedrazamalik62
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 40

Object-Oriented Programming

(OOP)
Lecture No. 5
Multiple Inheritance

► Wemay want to reuse characteristics of


more than one parent class
Example – Multiple Inheritance

Mermaid
Example – Multiple Inheritance

Woman Fish

Mermaid
Example – Multiple Inheritance

Amphibious Vehicle
Example – Multiple Inheritance

Vehicle

Land Vehicle Water Vehicle

Car Amphibious Vehicle Boat


Problems with Multiple
Inheritance

► Increased complexity

► Reduced understanding

► Duplicate features
Problem – Duplicate Features

Woman Fish
eat eat
… …

Mermaid

► Which eat operation Mermaid inherits?


Solution – Override the Common
Feature

Woman Fish
eat eat
… …

Mermaid
Invoke eat
eat
operation of
… desired class
Problem – Duplicate Features
(Diamond Problem)
Vehicle
changeGear

Land Vehicle Water Vehicle

Car Amphibious Vehicle Boat

► Which changeGear operation Amphibious


Vehicle inherits?
Solution to Diamond Problem

► Some languages disallow diamond


hierarchy

► Othersprovide mechanism to ignore


characteristics from one side
Association
► Objectsin an object model interact with
each other

► Usuallyan object provides services to


several other objects

► Anobject keeps associations with other


objects to delegate tasks
Kinds of Association
► Class Association
▪ Inheritance

► Object Association
▪ Simple Association
▪ Composition
▪ Aggregation
Simple Association

► Is the weakest link between objects

► Is a reference by which one object can


interact with some other object

► Is simply called as “association”


Kinds of Simple Association
► w.r.t navigation
▪ One-way Association
▪ Two-way Association

► w.r.t number of objects


▪ Binary Association
▪ Ternary Association
▪ N-ary Association
One-way Association

► We can navigate along a single direction


only

► Denoted by an arrow towards the server


object
Example – Association

lives-in
Ali House
1 1

► Ali lives in a House


Example – Association

drives
Ali Car
1 *

► Ali drives his Car


Two-way Association

► We can navigate in both directions

► Denoted by a line between the associated


objects
Example – Two-way Association

works-for
Employee Company
* 1

► Employeeworks for company


► Company employs employees
Example – Two-way Association

friend
Yasir Ali
1 1

► Yasir is a friend of Ali


► Ali is a friend of Yasir
Binary Association

► Associates objects of exactly two classes

► Denoted by a line, or an arrow between the


associated objects
Example – Binary Association

works-for
Employee Company
* 1

► Association“works-for” associates objects of


exactly two classes
Example – Binary Association

drives
Ali Car
1 *

► Association“drives” associates objects of


exactly two classes
Ternary Association

► Associates objects of exactly three classes

► Denoted by a diamond with lines connected


to associated objects
Example – Ternary Association

Student 1
Teacher
*

*
Course

► Objectsof exactly three classes are


associated
Example – Ternary Association

Project * *
Language

1
Person

► Objectsof exactly three classes are


associated
N-ary Association

► An association between 3 or more classes

► Practical examples are very rare


Composition
► An object may be composed of other
smaller objects
► The relationship between the “part” objects
and the “whole” object is known as
Composition
► Composition is represented by a line with a
filled-diamond head towards the composer
object
Example – Composition of Ali
Head
1

Arm Ali Leg


2 2

1
Body
Example – Composition of Chair
Back
1

Chair

2 1 4
Arm Seat Leg
Composition is Stronger

► Composition is a stronger relationship,


because
▪ Composed object becomes a part of the
composer
▪ Composed object can’t exist independently
Example – Composition is
Stronger

► Ali is made up of different body parts

► They can’t exist independent of Ali


Example – Composition is
Stronger

► Chair’s body is made up of different parts

► They can’t exist independently


Aggregation
► An object may contain a collection
(aggregate) of other objects
► The relationship between the container and
the contained object is called aggregation
► Aggregation is represented by a line with
unfilled-diamond head towards the
container
Example – Aggregation

Bed
1

Chair Room Table


* 1

1
Cupboard
Example – Aggregation

Garden * Plant
Aggregation is Weaker

► Aggregation is weaker relationship, because


▪ Aggregate object is not a part of the container
▪ Aggregate object can exist independently
Example – Aggregation is Weaker

► Furniture is not an intrinsic part of room

► Furniture
can be shifted to another room,
and so can exist independent of a particular
room
Example – Aggregation is Weaker

►A plant is not an intrinsic part of a garden

► Itcan be planted in some other garden, and


so can exist independent of a particular
garden

You might also like