9781884777790

Object Oriented Perl

by
  • ISBN13:

    9781884777790

  • ISBN10:

    1884777791

  • Format: Paperback
  • Copyright: 1999-09-01
  • Publisher: Oreilly & Associates Inc
  • Purchase Benefits
  • Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $42.95 Save up to $6.44
  • Buy New
    $36.51
    Add to Cart Free Shipping

    IN STOCK USUALLY SHIPS IN 24-48 HOURS

Supplemental Materials

What is included with this book?

  • The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.

Summary

This book is designed to assist programmers with basic to intermediate skills in procedural Perl and a familiarity with the fundamental concepts of object-orientation (specifically: classes, members, methods, encapsulation single inheritance, and the concept of polymorphism) to acquire a solid understanding of the object-oriented Perl. The value of the book is that it gives more people an understanding of, and confidence in, the use of Perl OO. In other words, rather than replacing their current knowledge, the book will augment it, and hopefully help them to understand when, where, and why they might most appropriately use OO Perl. This book will attract the people who are moving from scripting with Perl to programming with Perl.

Author Biography

Based at Monash University in Melbourne, Australia, Dr Damian Conway is an effective teacher, an accomplished writer, and the author of several popular Perl modules. In 1998 he won the inaugural Larry Wall Award for Practical Utility.

Table of Contents

foreword xi
preface xii
acknowledgments xviii
author online xx
What you need to know first (an object-orientation primer)
1(20)
The essentials of object orientation
2(11)
Other object-oriented concepts
13(5)
Terminology: a few (too many) words
18(1)
Where to find out more
18(2)
Summary
20(1)
What you need to know second (a Perl refresher)
21(52)
Essential Perl
21(30)
Non-essential (but very useful) Perl
51(14)
The CPAN
65(3)
Where to find out more
68(4)
Summary
72(1)
Getting started
73(45)
Three little rules
73(7)
A simple Perl class
80(9)
Making life easier
89(7)
The creation and destruction of objects
96(18)
The CD::Music class, compleat
114(3)
Summary
117(1)
Blessing arrays and scalars
118(25)
What's wrong with a hash?
118(1)
Blessing an array
119(7)
Blessing a pseudo-hash
126(9)
Blessing a scalar
135(7)
Summary
142(1)
Blessing other things
143(25)
Blessing a regular expression
143(8)
Blessing a subroutine
151(7)
Blessing a typeglob
158(8)
Summary
166(2)
Inheritance
168(35)
How Perl handles inheritance
168(10)
Tricks and traps
178(15)
Example: Inheriting the CD class
193(8)
Where to find out more
201(1)
Summary
202(1)
Polymorphism
203(10)
Polymorphism in Perl
203(2)
Example: Polymorphic methods for the Lexer class
205(3)
The simple pretty-printer objectified
208(2)
Using interface polymorphism instead
210(2)
Where to find out more
212(1)
Summary
212(1)
Automating class creation
213(23)
The Class::Struct module
213(9)
The Class::MethodMaker module
222(12)
Where to find out more
234(1)
Summary
235(1)
Ties
236(40)
A jacketing tie required
236(2)
Tie-ing a scalar
238(5)
Tie-ing a hash
243(6)
Tie-ing an array
249(7)
Tie-ing a filehandle
256(6)
Inheriting from a tie'able package
262(3)
Tied variables as objects
265(9)
Where to find out more
274(1)
Summary
275(1)
Operator overloading
276(20)
The problem
276(2)
Perl's operator overloading mechanism
278(6)
Example: A Roman numerals class
284(7)
Circumventing undesired reference semantics
291(1)
The use and abuse of operators
292(3)
Where to find out more
295(1)
Summary
295(1)
Encapsulation
296(31)
The perils of trust
296(1)
Encapsulation via closures
297(5)
Encapsulation via scalars
302(7)
Encapsulation via ties
309(17)
Where to find out more
326(1)
Summary
326(1)
Genericity
327(24)
Why Perl doesn't need special generic mechanisms
327(2)
Using specific mechanisms anyway
329(7)
Implicit generics via polymorphism
336(14)
Where to find out more
350(1)
Summary
350(1)
Multiple dispatch
351(36)
What is multiple dispatch?
351(2)
Multiple dispatch via single dispatch and cases
353(3)
Multiple dispatch via a table
356(5)
Comparing the two approaches
361(2)
Dynamic dispatch tables
363(4)
Some lingering difficulties
367(1)
The Class::Multimethods module
367(18)
Comparing the three approaches
385(1)
Where to find out more
385(1)
Summary
385(2)
Persistent objects
387(42)
The ingredients
387(11)
Object-oriented persistence
398(2)
Coarse-grained persistence
400(12)
Fine-grained persistence
412(15)
Where to find out more
427(1)
Summary
428(1)
A Quick reference guide 429(9)
B What you might know instead 438(21)
Perl and Smalltalk
438(5)
Perl and C++
443(6)
Perl and Java
449(5)
Perl and Eiffel
454(5)
glossary 459(7)
bibliography 466(2)
index 468

Rewards Program

Write a Review