KEMBAR78
Oo concepts and class modeling | PPTX
Object Oriented Concepts
and
Class Modeling
Preeti Mishra
Course Instructor
Motivation
• You got a gun
• You were the proud owner of the nice gun!
• You used it:
• You claimed you know how to use a gun!
Object
• Any real world entity: chair, fan, student, cow
• Object has crisp boundaries
• You can physically or logically perceive an object
• Object has:
• State ( values of attributes)
• Behavior( method response)
• Identity( address+name)
Taking about the dog
Attributes(these will be common
to all dogs)
State( talking about dog obove)
Breed Labrador
Owner Mr. crazy
Batch_no 420_IM
Vaccinated No
Hobbies Music
badhabbits smoking
• Behavior:
• gets_vaccination
• Runs
• Listensongs….
• Identity:
• Batch_no ( it is unique for all dogs)
Task:
• Think of an object
• Give its state-
• Now deduce the attributes from this
state
• Talk of the identity
Abstraction
Object Oriented
Concepts:
What we learned
• People tend to see the same thing in
different manner
• Why So??
– Due to various perspectives, interests
• Technically we will refer this syndrome as
Abstraction
What is..
• An abstraction focuses on the outside view of an object and
separates an object’s behaviour from its implementation
• a simplified description, or specification, of a system that
emphasizes some of the system's details or properties while
suppressing others.
• A good abstraction is one that emphasizes details that are
significant to the reader or user and suppresses details that are,
at least for the moment, immaterial or diversionary“
• Nearly all programming languages designed since 1980
support data abstraction
Thus
• “An abstraction denotes the essential characteristics of an
object that distinguish it from all other kinds of objects and thus
provide crisply defined conceptual boundaries,
relative to the perspective of the viewer”
-Grady Booch
Realized in programming by..
• Abstract data types/ classes
• Abstract keyword
• Class…
Encapsulation
Need??
• Large programs have two special needs:
– Some means of organization, other than simply division into
subprograms
– Some means of partial compilation (compilation units that
are smaller than the whole program)
Hence encapsulation
• “Encapsulation is a mechanism used to hide the data, internal
structure, and implementation details of an object.
• All interaction with the object is through a public interface of
operations.”
• Abstraction and encapsulation are complementary concepts:
abstraction focuses upon the observable behaviour of an
object, whereas encapsulation focuses upon the
implementation that gives rise to this behaviour.
• For abstraction to work, implementations must be
encapsulated"
Defined as..
• “Encapsulation is the process of compartmentalizing
the elements of an abstraction that constitute its
structure and behaviour; encapsulation serves to
separate the contractual interface of an abstraction
and its implementation.”
– Grady Booch
Encapsulation is achieved through
• Encapsulation is most often achieved through information
hiding, which is the process of hiding all the secrets of an
object that do not contribute to its essential characteristics;
typically, the structure of an object is hidden, as well as the
,implementation of its methods.
In programming
• Encapsulation Abstraction= Class
• For eg: think of a person as student
• From this perspective think of his description/properties
• Now compartmentalize these properties into:
– attributes + behavior
– Make attributes as : member variables/ data members
– Make behavior: member functions/ methods
– Name the entity as some noun : Student (because its meaningful
according to the perspective)
And we have..
Class Student
{
int roll_no, marks;
String Name, branch, year;
int get_Attendence()
int check_percentage()
Modularity
Thus
• The act of partitioning a program into individual
components can reduce its complexity to some degree. .
• Although partitioning a program is helpful for this reason, a
more powerful justification for partitioning a program is that
it creates a number of well defined, documented
boundaries within the program.
Why Modularity??
• modularization consists of dividing a program into modules
which can be compiled separately, but which have
connections with other modules.
• The overall goal of the decomposition into modules is the
reduction of software cost by allowing modules to be
designed and revised independently. .
Defined as..
• Modularity is the property of a system that has been
decomposed into a set of cohesive and loosely coupled
modules
Heirarcy
What is the need
• A set of abstractions often forms a hierarchy, and by
identifying these hierarchies in our ,design, we greatly simplify
our understanding of the problem
Defined as..
• Hierarchy is a ranking
or ordering of
abstractions.
• Is-a relation
• Kind-of
Polymorphism
We learned
• Generally, the ability to appear in many forms.
• The same invocation can produce “many forms” of
results
• The same method name and signature can cause
different actions to occur,
– depending on the type of object on which the
method is invoked
• Promotes extensibility
• New objects types can respond to existing method
calls
• Polymorphism exists when the features of inheritance
and dynamic binding interact. It is
perhaps the most powerful feature of object-oriented
programming languages
Defined as..
• In object-oriented programming, polymorphism refers to
a programming language's ability to process objects
differently depending on their data type or class. More
specifically, it is the ability to redefine methods for
derived classes.
Object
•State
•Behavior/ operations
•Identity
•Roles-responsibility
•Life span
What is an Object?
• From the perspective of human
cognition, an object is any of the
following:
– A tangible and/or visible thing
– Something that may be
apprehended intellectually
– Something toward which thought
or action is directed
– something that exists in time and
space.
Defined as
• An object has state, behaviour, and identity; the structure and
behaviour of similar objects are defined in their common class;
the terms instance and object are interchangeable.
Object: State
Property
(attribute)
Current value(State)
Amount of money $45
No to slots 20
No of empty slots 5
No of filled slots 10
Price per slot …
State: defined as
• The state of an object encompasses all of the
(usually static) properties of the object plus the
current (usually dynamic) values of each of these
properties.
Behavior
• the behaviour of an object
represents its outwardly
visible and testable activity
• behaviour also notes that
the state of an object affects
its behaviour as well.
Behavior : defined as
• Behaviour is how an object acts and reacts, in terms
of its state changes and message passing.
• Thus:
– The state of an object represents the cumulative results of its
behaviour
Operations: means to show behaviour
(Operation/methods/memberfunctions)
• An operation denotes a service that a class offers to its clients.
• In practice, we have found that a client typically performs five kinds of
operations upon an object:
– Modifier :An operation that alters the state of an object
– Selector :An operation that accesses the state of an object, but does not alter the
state
– Iterator :An operation that permits all parts of an object to be accessed in some
well-defined order
– Constructor: An operation that creates an object and/or initializes its state
– Destructor An operation that frees the state of an object and/or destroys the
object itself
Task to do
• For a Stack data structure
identify :
• State: properties and
current values
• Behavior
• Operations of different
categories
Identity
Identity: defined as
• “Identity is that property of an object which
distinguishes it from all other objects "
Roles and Responsibilities
• all of the methods and free subprograms associated with a
particular object comprise its protocol.
Roles
• object's allowable behaviour, and so comprises the entire static and
dynamic view of the object.
• For most nontrivial abstractions, it is useful to divide this larger
protocol into logical groupings of behavior.
• These collections, which thus partition the behavior space
• of an object, denote the roles that an object can play.
• a role is a mask that an object wears , and so defines a contract
between an abstraction and its clients
Responsibility
• The responsibilities of an object to "include two key items:
– the knowledge an object maintains and
– the actions an object can perform.
• Responsibilities are meant to convey a sense of the purpose
of an object and its place in the system.
• The responsibilities of an object are all the services it
provides for all of the contracts it supports"
Object : Life Span
• Object Life Span :The lifetime of an object extends from the
time it is first created (and thus first consumes space) until that
space is reclaimed .
• To explicitly create an object, we must either declare it or
allocate it.
• Object destruction may vary …
• Persistent objects have slightly different semantics regarding
destruction

Oo concepts and class modeling

  • 1.
    Object Oriented Concepts and ClassModeling Preeti Mishra Course Instructor
  • 2.
    Motivation • You gota gun • You were the proud owner of the nice gun! • You used it: • You claimed you know how to use a gun!
  • 3.
    Object • Any realworld entity: chair, fan, student, cow • Object has crisp boundaries • You can physically or logically perceive an object • Object has: • State ( values of attributes) • Behavior( method response) • Identity( address+name)
  • 5.
    Taking about thedog Attributes(these will be common to all dogs) State( talking about dog obove) Breed Labrador Owner Mr. crazy Batch_no 420_IM Vaccinated No Hobbies Music badhabbits smoking
  • 6.
    • Behavior: • gets_vaccination •Runs • Listensongs…. • Identity: • Batch_no ( it is unique for all dogs)
  • 7.
    Task: • Think ofan object • Give its state- • Now deduce the attributes from this state • Talk of the identity
  • 8.
  • 10.
    What we learned •People tend to see the same thing in different manner • Why So?? – Due to various perspectives, interests • Technically we will refer this syndrome as Abstraction
  • 11.
    What is.. • Anabstraction focuses on the outside view of an object and separates an object’s behaviour from its implementation • a simplified description, or specification, of a system that emphasizes some of the system's details or properties while suppressing others. • A good abstraction is one that emphasizes details that are significant to the reader or user and suppresses details that are, at least for the moment, immaterial or diversionary“ • Nearly all programming languages designed since 1980 support data abstraction
  • 14.
    Thus • “An abstractiondenotes the essential characteristics of an object that distinguish it from all other kinds of objects and thus provide crisply defined conceptual boundaries, relative to the perspective of the viewer” -Grady Booch
  • 15.
    Realized in programmingby.. • Abstract data types/ classes • Abstract keyword • Class…
  • 16.
  • 17.
    Need?? • Large programshave two special needs: – Some means of organization, other than simply division into subprograms – Some means of partial compilation (compilation units that are smaller than the whole program)
  • 19.
    Hence encapsulation • “Encapsulationis a mechanism used to hide the data, internal structure, and implementation details of an object. • All interaction with the object is through a public interface of operations.” • Abstraction and encapsulation are complementary concepts: abstraction focuses upon the observable behaviour of an object, whereas encapsulation focuses upon the implementation that gives rise to this behaviour. • For abstraction to work, implementations must be encapsulated"
  • 20.
    Defined as.. • “Encapsulationis the process of compartmentalizing the elements of an abstraction that constitute its structure and behaviour; encapsulation serves to separate the contractual interface of an abstraction and its implementation.” – Grady Booch
  • 21.
    Encapsulation is achievedthrough • Encapsulation is most often achieved through information hiding, which is the process of hiding all the secrets of an object that do not contribute to its essential characteristics; typically, the structure of an object is hidden, as well as the ,implementation of its methods.
  • 22.
    In programming • EncapsulationAbstraction= Class • For eg: think of a person as student • From this perspective think of his description/properties • Now compartmentalize these properties into: – attributes + behavior – Make attributes as : member variables/ data members – Make behavior: member functions/ methods – Name the entity as some noun : Student (because its meaningful according to the perspective)
  • 23.
    And we have.. ClassStudent { int roll_no, marks; String Name, branch, year; int get_Attendence() int check_percentage()
  • 24.
  • 28.
    Thus • The actof partitioning a program into individual components can reduce its complexity to some degree. . • Although partitioning a program is helpful for this reason, a more powerful justification for partitioning a program is that it creates a number of well defined, documented boundaries within the program.
  • 29.
    Why Modularity?? • modularizationconsists of dividing a program into modules which can be compiled separately, but which have connections with other modules. • The overall goal of the decomposition into modules is the reduction of software cost by allowing modules to be designed and revised independently. .
  • 30.
    Defined as.. • Modularityis the property of a system that has been decomposed into a set of cohesive and loosely coupled modules
  • 31.
  • 34.
    What is theneed • A set of abstractions often forms a hierarchy, and by identifying these hierarchies in our ,design, we greatly simplify our understanding of the problem
  • 35.
    Defined as.. • Hierarchyis a ranking or ordering of abstractions.
  • 36.
  • 37.
  • 40.
    We learned • Generally,the ability to appear in many forms. • The same invocation can produce “many forms” of results • The same method name and signature can cause different actions to occur, – depending on the type of object on which the method is invoked • Promotes extensibility • New objects types can respond to existing method calls
  • 42.
    • Polymorphism existswhen the features of inheritance and dynamic binding interact. It is perhaps the most powerful feature of object-oriented programming languages
  • 43.
    Defined as.. • Inobject-oriented programming, polymorphism refers to a programming language's ability to process objects differently depending on their data type or class. More specifically, it is the ability to redefine methods for derived classes.
  • 44.
  • 45.
    What is anObject? • From the perspective of human cognition, an object is any of the following: – A tangible and/or visible thing – Something that may be apprehended intellectually – Something toward which thought or action is directed – something that exists in time and space.
  • 46.
    Defined as • Anobject has state, behaviour, and identity; the structure and behaviour of similar objects are defined in their common class; the terms instance and object are interchangeable.
  • 47.
    Object: State Property (attribute) Current value(State) Amountof money $45 No to slots 20 No of empty slots 5 No of filled slots 10 Price per slot …
  • 48.
    State: defined as •The state of an object encompasses all of the (usually static) properties of the object plus the current (usually dynamic) values of each of these properties.
  • 49.
    Behavior • the behaviourof an object represents its outwardly visible and testable activity • behaviour also notes that the state of an object affects its behaviour as well.
  • 50.
    Behavior : definedas • Behaviour is how an object acts and reacts, in terms of its state changes and message passing. • Thus: – The state of an object represents the cumulative results of its behaviour
  • 51.
    Operations: means toshow behaviour (Operation/methods/memberfunctions) • An operation denotes a service that a class offers to its clients. • In practice, we have found that a client typically performs five kinds of operations upon an object: – Modifier :An operation that alters the state of an object – Selector :An operation that accesses the state of an object, but does not alter the state – Iterator :An operation that permits all parts of an object to be accessed in some well-defined order – Constructor: An operation that creates an object and/or initializes its state – Destructor An operation that frees the state of an object and/or destroys the object itself
  • 52.
    Task to do •For a Stack data structure identify : • State: properties and current values • Behavior • Operations of different categories
  • 53.
  • 54.
    Identity: defined as •“Identity is that property of an object which distinguishes it from all other objects "
  • 55.
    Roles and Responsibilities •all of the methods and free subprograms associated with a particular object comprise its protocol.
  • 56.
    Roles • object's allowablebehaviour, and so comprises the entire static and dynamic view of the object. • For most nontrivial abstractions, it is useful to divide this larger protocol into logical groupings of behavior. • These collections, which thus partition the behavior space • of an object, denote the roles that an object can play. • a role is a mask that an object wears , and so defines a contract between an abstraction and its clients
  • 57.
    Responsibility • The responsibilitiesof an object to "include two key items: – the knowledge an object maintains and – the actions an object can perform. • Responsibilities are meant to convey a sense of the purpose of an object and its place in the system. • The responsibilities of an object are all the services it provides for all of the contracts it supports"
  • 58.
    Object : LifeSpan • Object Life Span :The lifetime of an object extends from the time it is first created (and thus first consumes space) until that space is reclaimed . • To explicitly create an object, we must either declare it or allocate it. • Object destruction may vary … • Persistent objects have slightly different semantics regarding destruction