Chapter 9: PowerPoint

January 6, 2018 | Author: Anonymous | Category: Engineering & Technology, Computer Science, Computer Programming
Share Embed Donate


Short Description

Download Chapter 9: PowerPoint...

Description

Chapter 9 Classes and Object Oriented Programming

STARTING OUT WITH

Python First Edition by Tony Gaddis

Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

9.1 Procedural and Object-Oriented Programming Concept: Procedural programming is a method of writing software. It is a programming practice centered on the procedures or actions that take place in a program. Object-oriented programming is centered on objects. Objects are created from abstract data types that encapsulate data and function together. 1-2 Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

9-2

9.1 Procedural and Object-Oriented Programming Two methods of programming:

• Procedural • Object-oriented

1-3 Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

9-3

9.1 Procedural and Object-Oriented Programming Procedural programming is made up of one or more procedures •Procedures operate on data items that are separate from the procedure •Data items are passed from one procedure to another •Focus is on the creation of procedures that operate on the program’s data

1-4 Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

9-4

9.1 Procedural and Object-Oriented Programming Object-oriented programming is a self-contained unit that consists of data attributes and methods that operate on data attributes •An object is a software entry that contains both data and procedures •Data contained in an object is known as the object’s data attributes •Data attributes are variables that reference data •Procedures that an object performs are known as methods 1-5 Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

9-5

9.1 Procedural and Object-Oriented Programming Object-oriented programming (OOP) • OOP separates code and data through encapsulation and data hiding • Encapsulation refers to the combining of data and code into a single object • Data hiding refers to an object’s ability to hide its data attributes from code that is outside the object • Protects the data attributes from accidentally being corrupted

• Object reusability – it can be used by any program that needs its services 1-6 Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

9-6

9.2 Classes

Concept:

A class is code that specifies data attributes and methods for a particular type of data.

1-7 Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

9-7

9.2 Classes Class – code that specifies the data attributes and methods of a particular type of object. •It is the “blueprint” that objects may be created from •Each object that is created from a class is called an instance of the class

1-8 Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

9-8

9.2 Classes Figure 9-3 A blueprint and houses built from the blueprint

Figure 9-5 The housefly and mosquito objects are instances of the Insect class

1-9 Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

9-9

9.2 Classes Class Definition • It is a set of statements that define a class’s methods and data attributes • Starts with the keyword class, followed by the class name • The self parameter is required in every method of the class • It is a way of knowing which object’s data attributes the method is supposed to operate on

• Most python classes have the __init__ method • Known as the initializer method because it initializes the object’s data attributes 1-10 Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

9-10

9.2 Classes Class Definition Program 9-1 (Coin class, not a complete program)

1-11 Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

9-11

9.2 Classes Class Definition Program 9-2 (coin_demo1.py)

1-12 Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

9-12

9.2 Classes Class Definition Program 9-2 (cont.) (coin_demo1.py)

1-13 Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

9-13

9.2 Classes Class Definition

Figure 9-7 The my_coin variable references a Coin object

1-14 Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

9-14

9.2 Classes Hiding Attributes … __attributeName Program 9-4 (coin_demo3.py)

1-15 Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

9-15

9.2 Classes

Storing Classes in Modules •Create a module with the class definitions; save the file using the .py extension •Import the module to any program that needs access to the class definition

1-16 Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

9-16

9.2 Classes Storing Classes in Modules Program 9-7 (account.py)

Program 9-8 (account_test.py)

1-17 Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

9-17

9.2 Classes The __str__ method •Returns a string containing the object’s state •Object’s state is the value of the object’s attribute at any given moment For example: def __str__(self): state_string = ‘The account balance is $%.2f.’ % self.__balance return state_string

1-18 Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

9-18

9.3 Working with Instances

Concept:

Each instance of a class has its own set of data attributes.

1-19 Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

9-19

9.3 Working with Instances • When the self parameter is used to create an attribute, the attribute belongs to the specific object that self references – instance attribute(s) Figure 9-8 The coin1, coin2, and coin3 variables reference three Coin objects

1-20 Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

9-20

9.3 Working with Instances

Accessor and Mutator Methods •The accessor method returns a value from a class’s attribute but does not change it. •The mutator method stores a value in a data attribute or changes the value of a data attribute in some other way.

1-21 Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

9-21

9.4 Techniques for Designing Classes

The Unified Modeling Language (UML) Provides a set of standard diagrams for graphically depicting object-oriented systems

1-22 Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

9-22

9.4 Techniques for Designing Classes The Unified Modeling Language (UML)

Figure 9-10 General layout of a UML diagram for a class

1-23 Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

9-23

9.4 Techniques for Designing Classes The Unified Modeling Language (UML) Figure 9-12 UML diagram for the CellPhone class

1-24 Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

9-24

9.4 Techniques for Designing Classes Finding the Classes in a Problem •Get a written description of the problem domain.

•Identify all the nouns in the description. Each of these is a potential class. •Refine the list to include only the classes that are relevant to the problem.

1-25 Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

9-25

9.4 Techniques for Designing Classes

Identifying a Class’s Responsibility

Figure 9-13 UML diagram for the Customer class

• The things that the class is responsible for knowing • The actions that the class is responsible for doing

1-26 Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

9-26

Chapter 9 Classes and Object Oriented Programming

QUESTIONS

? Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

View more...

Comments

Copyright � 2017 NANOPDF Inc.
SUPPORT NANOPDF