Skip to Main Content
C# Cookbook, 2nd Edition
book

C# Cookbook, 2nd Edition

by Jay Hilyard, Stephen Teilhet
January 2006
Intermediate to advanced content levelIntermediate to advanced
1184 pages
43h 23m
English
O'Reilly Media, Inc.
Content preview from C# Cookbook, 2nd Edition
This is the Title of the Book, eMatter Edition
Copyright © 2007 O’Reilly & Associates, Inc. All rights reserved.
Implementing Polymorphism with Abstract Base Classes
|
103
The output of these methods is shown here:
Magnetic Init
Magnetic Write
Magnetic Read
0
Magnetic Close
Magnetic
Optical Init
Optical Write
Optical Read
0
Optical Close
Optical
PunchCard Init
PunchCard Write
PunchCard Read
0
PunchCard Close
PunchCard
Discussion
Polymorphism through an abstract base class is a powerful tool. With this tool, you
are able to create a method (
UseMedia in this solution) that accepts a parameter with
a specific type that is known only at runtime. Since the use of this parameter is simi-
lar for all objects that can be passed in to this method, you do not have to worry
about the specific class that is passed in; you need to know only how the abstract
base class is defined. It is through this abstract base class definition that you know
how to use the specific type.
x = new Optical( );
UseMedia(x);
Console.WriteLine( );
x = new PunchCard( );
UseMedia(x);
}
private static void UseMedia(Media media)
{
media.Init( );
media.WriteTo("text");
media.ReadFrom( );
Console.WriteLine(media.Handle);
media.Close( );
Console.WriteLine(media.ToString( ));
}
Example 3-3. Using derived classes polymorphically (continued)
This is the Title ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

C# Cookbook

C# Cookbook

Joe Mayo
C# Cookbook

C# Cookbook

Stephen Teilhet, Jay Hilyard
Head First C#, 4th Edition

Head First C#, 4th Edition

Andrew Stellman, Jennifer Greene

Publisher Resources

ISBN: 0596100639Supplemental ContentCatalog PageErrata