Overriding Interfaces : Interface « Language Basics « C# / C Sharp

C# / C Sharp
1. 2D Graphics
2. Collections Data Structure
3. Components
4. Database ADO.net
5. Development Class
6. Event
7. File Stream
8. GUI Windows Form
9. Language Basics
10. Network
11. Office
12. Regular Expressions
13. Services Event
14. Thread
15. Web Services
16. Windows
17. XML
Microsoft Office Word 2007 Tutorial
Java
Java Tutorial
Java Source Code / Java Documentation
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
C# / CSharp Tutorial
ASP.Net
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
PHP
Python
SQL Server / T-SQL
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
C# / C Sharp » Language Basics » InterfaceScreenshots 
Overriding Interfaces
Overriding Interfaces

/*
Learning C# 
by Jesse Liberty

Publisher: O'Reilly 
ISBN: 0596003765
*/
 using System;

 namespace OverridingInterfaces
 {
     interface IStorable
     {
         void Read();
         void Write();
     }

     // Simplify Document to implement only IStorable
     class Document : IStorable
     {
         // the document constructor
         public Document(string s)
         {
             Console.WriteLine(
                 "Creating document with: {0}", s);
         }

         // Make read virtual
         public virtual void Read()
         {
             Console.WriteLine(
                 "Document Read Method for IStorable");
         }

         // NB: Not virtual!
         public void Write()
         {
             Console.WriteLine(
                 "Document Write Method for IStorable");
         }
     }

     // Derive from Document
     class Note : Document
     {
         public Note(string s):
             base(s)
         {
             Console.WriteLine(
                 "Creating note with: {0}", s);
         }

         // override the Read method
         public override void Read()
         {
             Console.WriteLine(
                 "Overriding the Read method for Note!");
         }

         // implement my own Write method
         public new void Write()
         {
             Console.WriteLine(
                 "Implementing the Write method for Note!");
         }
     }

     public class OverridingInterfacesTester
     {
         public void Run()
         {
             // Create a Document object
             Document theNote = new Note("Test Note");

             // direct call to the methods
             theNote.Read();
             theNote.Write();

             Console.WriteLine("\n");

             // cast the Document to IStorable
             IStorable isNote = theNote as IStorable;
             if (isNote != null)
             {
                 isNote.Read();
                 isNote.Write();
             }
             Console.WriteLine("\n");

             // create a note object
             Note note2 = new Note("Second Test");

             // directly call the methods
             note2.Read();
             note2.Write();
             Console.WriteLine("\n");

             // Cast the note to IStorable
             IStorable isNote2 = note2 as IStorable;
             if (isNote != null)
             {
                 isNote2.Read();
                 isNote2.Write();
             }


         }

         static void Main()
         {
             OverridingInterfacesTester t = new OverridingInterfacesTester();
             t.Run();
         }
     }
 }

           
       
Related examples in the same category
1. Demonstrate the ByTwos interfaceDemonstrate the ByTwos interface
2. Demonstrate the ByTwos interface 2Demonstrate the ByTwos interface 2
3. Use a property in an interfaceUse a property in an interface
4. Add an indexer in an interfaceAdd an indexer in an interface
5. One interface can inherit anotherOne interface can inherit another
6. Explicitly implement an interface memberExplicitly implement an interface member
7. Use explicit implementation to remove ambiguityUse explicit implementation to remove ambiguity
8. Two class inherit one interfaceTwo class inherit one interface
9. Using interface 3Using interface 3
10. illustrates interfacesillustrates interfaces
11. illustrates implementing multiple interfacesillustrates implementing multiple interfaces
12. illustrates inheriting from a class and implementing multiple interfacesillustrates inheriting from a class and implementing multiple interfaces
13. illustrates casting an object to an interfaceillustrates casting an object to an interface
14. illustrates deriving an interface from one interfaceillustrates deriving an interface from one interface
15. illustrates deriving an interface from multiple interfacesillustrates deriving an interface from multiple interfaces
16. illustrates an explicit interface member implementationillustrates an explicit interface member implementation
17. illustrates interface member hidingillustrates interface member hiding
18. Demonstrates the use of a simple interfaceDemonstrates the use of a simple interface
19. Interface demoInterface demo
20. Interface demo: implements two interfacesInterface demo: implements two interfaces
21. Interface castingInterface casting
22. Overriding Interfaces: Tester Overriding InterfacesAsOverriding Interfaces: Tester Overriding InterfacesAs
23. A safe method of determining whether a class implements a particular interfaceA safe method of determining whether a class implements a particular interface
24. Interfaces:Working with InterfacesInterfaces:Working with Interfaces
ww___w__.j__av_a___2s___.c__o_m__ | Contact Us
Copyright 2003 - 08 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.