Vous êtes sur la page 1sur 19

Chapter 14:

Object-Oriented Programming

Starting Out with Programming Logic & Design

Second Edition

by Tony Gaddis

Copyright 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

Chapter Topics
14.1 Procedural and Object-Oriented
Programming
14.2 Classes
14.3 Using the Unified Modeling Language to
Design Classes
14.4 Inheritance
14.5 Polymorphism

Copyright 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

14-2

14.1 Procedural and Object-Oriented


Programming
Procedural Programming
An early method of coding where programs are centered on the
procedures or actions that take place in a program
A procedure is simply a module
As program get larger and more complex, this method leads to
problems

Object Oriented Programming


A newer method of coding where programs are centered on
creating objects
An object is a software entity that contains both data and
procedures
The data in a object is known as the objects fields (variables,
arrays)
The procedures that are performed are called methods
Copyright 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

14-3

14.1 Procedural and Object-Oriented


Programming
Object Oriented Programming (OOP) addresses
the procedural problem of code/data separation
by using two methods
Encapsulation refers to the combining of data
and code into a single object
Data hiding refers to an objects ability to hide its
data from code that is outside the object

Another OOP benefit is Object Reusability


For example, an object that renders 3D images can
be used in many different programs
Copyright 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

14-4

14.2 Classes
A class is code that specifies the fields and
methods for a particular type of object
A class is coded and contains methods and fields
Think of it like a blueprint, such as a blueprint for a
house
Its a detailed description

An object is then created from the class


It is an instance of a class
Think of it as the actual house

Copyright 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

14-5

14.2 Classes
Creating a class
Class ClassName
Field declarations and method declarations
End Class

The first line starts with Class, followed by the


name of the class
The programmer names the class following the same
rules as naming variables

The field declarations (variables) and methods are


defined within the class
Copyright 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

14-6

14.2 Classes
Access specifiers
Private allows class members to be hidden from
code outside the class
Public allows for all parts of the code to access the
class members
It is common practice to make all fields private and
to provide access only to those field through
methods
Therefore, the methods should be public

Copyright 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

14-7

14.2 Classes

Continued
Copyright 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

14-8

14.2 Classes

Copyright 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

14-9

14.2 Classes
Inside Class Listing 14-3
The field are defined as private to ensure data
hiding
The methods are public so they can be accessed by
main
When the set modules are called, a String is passed
into the method as an argument and that value is
set to the private field
When the get modules are called, they simply
return the value of the private field

Copyright 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

14-10

14.2 Classes

Copyright 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

14-11

14.2 Classes

Copyright 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

14-12

14.2 Classes
Inside Program 14-1
An variable is created myPhone
myPhone is then used with the keyword New to
create the object in memory
Values are then stored in the objects field by
calling the class methods
Call myPhone.setManufacturer(Motorola)

Values are then displayed by calling the class


methods
Display The manufacturer is , myPhone.getManufacturer( )

The dot notation is used to associate an object with


a member of the class
Copyright 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

14-13

14.2 Classes
Constructor is a method that is automatically
called when an object is created
The purpose is to initialize an objects fields with
starting values
A programmer can write their own constructor to
initialize fields
Or they can use the default constructor that is
available with most programming languages

Copyright 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

14-14

14.3 Using the Unified Modeling Language to


Design Classes
The Unified Modeling Language (UML) is a
standard way of drawing diagrams that
describe object-oriented systems
Contains a set of standard diagrams for graphically
depicting OO systems
Figure 14-10 General layout of
a UML diagram for a class

Copyright 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

14-15

14.3 Using the Unified Modeling Language to


Design Classes
Data type, method parameter, and access
specification notation is also added to a UML
diagram
The data type specifies the data type of the field or
the data type of the method
The method parameter specifies the parameter
variables and their data types
The access specification indicates a + for public or
a for private

Copyright 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

14-16

14.3 Using the Unified Modeling Language to


Design Classes

Figure 14-14 UML diagram for the


CellPhone class with access
specification notation

Copyright 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

14-17

14.4 Inheritance
Inheritance allows a new class to extend an
existing class, whereas the new class inherits
the members of the class it extends
The superclass is the base class
The subclass(es) is the derived class
Figure 14-17 Bumblebees and
grasshoppers are specialized versions
of an insect

Copyright 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

14-18

14.5 Polymorphism
Polymorphism allows you to create methods
with the same name in different classes (that
are related through inheritance
The programmer has the ability to call the correct
method depending on the type of object that is
used to call it
Polymorphism refers to an objects ability to take
different forms

Copyright 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

14-19