Using interface 3 : Interface « Class Interface « C# / C Sharp

Home
C# / C Sharp
1.2D Graphics
2.Class Interface
3.Collections Data Structure
4.Components
5.Data Types
6.Database ADO.net
7.Design Patterns
8.Development Class
9.Event
10.File Stream
11.Generics
12.GUI Windows Form
13.Language Basics
14.LINQ
15.Network
16.Office
17.Reflection
18.Regular Expressions
19.Security
20.Services Event
21.Thread
22.Web Services
23.Windows
24.Windows Presentation Foundation
25.XML
26.XML LINQ
C# / C Sharp by API
C# / CSharp Tutorial
C# / CSharp Open Source
C# / C Sharp » Class Interface » InterfaceScreenshots 
Using interface 3
Using interface 3

/*
C#: The Complete Reference 
by Herbert Schildt 

Publisher: Osborne/McGraw-Hill (March 8, 2002)
ISBN: 0072134852
*/
using System; 

// An encryption interface. 
public interface ICipher 
  string encode(string str)
  string decode(string str)
}

/* A simple implementation of ICipher that codes 
   a message by shifting each character 1 position 
   higher.  Thus, A becomes B, and so on. */ 
class SimpleCipher : ICipher 
     
  // Return an encoded string given plaintext. 
  public string encode(string str) { 
    string ciphertext = ""
 
    for(int i=0; i < str.Length; i++
      ciphertext = ciphertext + (char) (str[i1)
 
    return ciphertext; 
  
 
  // Return an decoded string given ciphertext. 
  public string decode(string str) { 
    string plaintext = ""
 
    for(int i=0; i < str.Length; i++
      plaintext = plaintext + (char) (str[i1)
 
    return plaintext; 
  

 
/* This implementation of ICipher uses bit 
   manipulations and key. */ 
class BitCipher : ICipher 
  ushort key; 
 
  // Specify a key when constructing BitCiphers. 
  public BitCipher(ushort k) { 
    key = k; 
  
     
  // Return an encoded string given plaintext. 
  public string encode(string str) { 
    string ciphertext = ""
 
    for(int i=0; i < str.Length; i++
      ciphertext = ciphertext + (char) (str[i^ key)
 
    return ciphertext; 
  
 
  // Return an decoded string given ciphertext. 
  public string decode(string str) { 
    string plaintext = ""
 
    for(int i=0; i < str.Length; i++
      plaintext = plaintext + (char) (str[i^ key)
 
    return plaintext; 
  
}

// Use ICipher. 
 
// A class for storing unlisted telephone numbers. 
class UnlistedPhone 
  string pri_name;   // supports name property 
  string pri_number; // supports number property 
 
  ICipher crypt; // reference to encryption object 
 
  public UnlistedPhone(string name, string number, ICipher c
  
    crypt = c; // store encryption object 
 
    pri_name = crypt.encode(name)
    pri_number = crypt.encode(number)
  
 
  public string Name 
    get 
      return crypt.decode(pri_name)
    
    set 
      pri_name = crypt.encode(value)
    
  
 
  public string Number 
    get 
      return crypt.decode(pri_number)
    
    set 
      pri_number = crypt.encode(value)
    
  

 
// Demonstrate UnlistedPhone 
public class UnlistedDemo 
  public static void Main() { 
    UnlistedPhone phone1 = 
        new UnlistedPhone("Tom""555-3456"new BitCipher(27));  
    UnlistedPhone phone2 = 
        new UnlistedPhone("Mary""555-8891"new BitCipher(9))
 
 
    Console.WriteLine("Unlisted number for " +  
                      phone1.Name + " is " 
                      phone1.Number);  
 
    Console.WriteLine("Unlisted number for " +  
                      phone2.Name + " is " 
                      phone2.Number);  
  
}


           
       
Related examples in the same category
1.Interface with method name conflicts
2.Demonstrate the ByTwos interfaceDemonstrate the ByTwos interface
3.Demonstrate the ByTwos interface 2Demonstrate the ByTwos interface 2
4.Use a property in an interfaceUse a property in an interface
5.Add an indexer in an interfaceAdd an indexer in an interface
6.One interface can inherit anotherOne interface can inherit another
7.Explicitly implement an interface memberExplicitly implement an interface member
8.Use explicit implementation to remove ambiguityUse explicit implementation to remove ambiguity
9.Two class inherit one interfaceTwo class inherit one interface
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 InterfacesOverriding Interfaces
23.Overriding Interfaces: Tester Overriding InterfacesAsOverriding Interfaces: Tester Overriding InterfacesAs
24.A safe method of determining whether a class implements a particular interfaceA safe method of determining whether a class implements a particular interface
25.Interfaces:Working with InterfacesInterfaces:Working with Interfaces
26.Reimplementation of Interfaces
27.Interface with event
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.