Object Oriented Programming Development - PowerPoint PPT Presentation

1 / 29
About This Presentation
Title:

Object Oriented Programming Development

Description:

Object Oriented Programming Development * Introduction of: the lecturer Objects Basic Terminology C++ the module What are we doing today? PROGRAMMING PARADIGMS A ... – PowerPoint PPT presentation

Number of Views:282
Avg rating:3.0/5.0
Slides: 30
Provided by: STD64
Category:

less

Transcript and Presenter's Notes

Title: Object Oriented Programming Development


1
Object Oriented ProgrammingDevelopment
2
What are we doing today?
  • Introduction of
  • the lecturer
  • Objects
  • Basic Terminology
  • C
  • the module

3
PROGRAMMING PARADIGMS
  • A Programming Paradigms defines the Methodology
    of designing and implementing programs using the
    key feature and building blocks of a Programming
    Language .
  • Types
  • 1. Procedural Programming
  • 2. Object Based Programming
  • 3. Object Oriented Programming

4
Procedural Programming
  • A Program in a procedural language is a list of
    instruction where each statements tells the
    computer to do something. The focus is on the
    Processing, the Algorithm needed to perform the
    desired computation.

5
Object Based Programming
  • In this programming data and its associated
    meaningful function as enclosed in one single
    entity a class. Classes enforce information
    hiding and abstraction thereby separating the
    implementation details uses the interface.

6
Object Oriented Programming
  • This programming paradigm is support of object
    based programming. It offers all the features of
    object based programming and overcomes its
    limitations by implementing inheritance so that
    real world relations among objects can be
    represented programmatically.

7
What is Object Oriented Programming?
  • Identifying objects and assigning
    responsibilities to these objects.
  • Objects communicate to other objects by sending
    messages.
  • Messages are received by the methods of an object
  • An object is like a black box.
  • The internal details are hidden.

8
What is an object?
  • Tangible Things as a car, printer, ...
  • Roles as employee, boss, ...
  • Incidents as flight, overflow, ...
  • Interactions as contract, sale, ...
  • Specifications as colour, shape,

9
So, what are objects?
  • an object represents an individual, identifiable
    item, unit, or entity, either real or abstract,
    with a well-defined role in the problem domain.
  • Or
  • An "object" is anything to which a concept
    applies.
  • Etc.

10
Why do we care about objects?
  • Modularity - large software projects can be split
    up in smaller pieces.
  • Reuseability - Programs can be assembled from
    pre-written software components.
  • Extensibility - New software components can be
    written or developed from existing ones.

11
Example The Person class
  • includeltstringgt
  • includeltiostreamgt
  • class Person
  • char name20
  • int yearOfBirth
  • public
  • void displayDetails()
  • cout ltlt name ltlt " born in "
  • ltlt yearOfBirth ltlt endl
  • //...

private data
public processes
12
The two parts of an object
  • Object Data Methods
  • or to say the same differently
  • An object has the responsibility to know and the
    responsibility to do.



13
Basic Terminology
  • Abstraction is the representation of the
    essential features of an object. These are
    encapsulated into an abstract data type.
  • Encapsulation is the practice of including in an
    object everything it needs hidden from other
    objects. The internal state is usually not
    accessible by other objects.

14
Basic TerminologyInheritance
  • Inheritance means that one class inherits the
    characteristics of another class.This is also
    called a is a relationship

A car is a vehicle
A dog is an animal
A teacher is a person
15
2. Inheritance Concepts
  • Derive a new class (subclass) from an existing
    class (base class or superclass).
  • Inheritance creates a hierarchy of related
    classes (types) which share code and interface.

15
16
Inheritance Examples
17
Types of Inheritance
  • Single
  • Multiple
  • Multilevel
  • Hierarchical
  • Hybrid

18
Basic TerminologyPolymorphism
  • Polymorphism means having many forms. It allows
    different objects to respond to the same message
    in different ways, the response specific to the
    type of the object.

E.g. the message displayDetails() of the Person
class should give different results when send to
a Student object (e.g. the enrolment number).
19
Types of Polymorphism
  • Compile time/ Static Polymorphism
  • Function Overloading
  • Run time/ Dynamic Polymorphism
  • Virtual Function
  • Operator Overloading

20
Basic TerminologyModularity
  • Modularity is the property of a system that has
    been decomposed into a set of cohesive and
    loosely coupled modules
  • For example the computer system comprises CPU,
    Monitor, Keyboard , Mouse Speakers etc. Now
    these parts are complete unit in themselves, yet
    they are a subpart of computer. This is
    Modularity .

21
Basic TerminologyBehaviour and Messages
  • The most important aspect of an object is its
    behaviour (the things it can do). A behaviour is
    initiated by sending a message to the object
    (usually by calling a method).

22
The two steps of Object Oriented Programming
  • Making Classes Creating, extending or reusing
    abstract data types.
  • Making Objects interact Creating objects from
    abstract data types and defining their
    relationships.

23
Historical Notes
  • C owes most to C. Other ancestors are
    Simula67and Algol68.
  • First versions of C in 1980 under the name C
    with classes. Since 1983 the name C is used.
  • 1990 ANSI/ISO 9899 defines a standard for C
  • 1998 ISO/IEC 14882 specifies the standard for C

C 1987
24
C and C
  • C is a subset of C.Advantages Existing C
    libraries can be used, efficient code can be
    generated.But C has the same caveats and
    problems as C (e.g. pointer arithmetic,).
  • C can be used both as a low level and as a high
    level language.

We focus on the high level aspects.
25
C and Java
  • Java is a full object oriented language, all code
    has to go into classes.
  • C - in contrast - is a hybrid language, capable
    both of functional and object oriented
    programming.

So, C is more powerful but also more difficult
to handle than Java.
26
Advantages of OOPs
  • Re use of Code
  • It model real world well
  • Program are easy to understand
  • Easy redesign Extension

27
Disadvantages of OOPs
  • The relations among classes become artificial as
    times
  • The OOPs Programs design is tricky.
  • To program with OOP, Programmer proper Skil.

28
Module Outline
  • Introduction
  • The non object oriented basics
  • Classes
  • Design Approaches
  • Testing
  • Inheritance
  • Aggregation
  • Polymorphism
  • Multifile Development

29
Thank You
Write a Comment
User Comments (0)
About PowerShow.com