News:

MyKidsDiary.in :: Capture your kids magical moment and create your Online Private Diary for your kids

Main Menu

C# .Net : Interfaces

Started by sukishan, Jul 11, 2009, 02:46 PM

Previous topic - Next topic

sukishan

C# .Net Tutorial Interfaces

   This C# Tutorial deals with interfaces in C# .Net. An Interface is a reference type and it contains only abstract members. Interface's members can be Events, Methods, Properties and Indexers. But the interface contains only declaration for its members. Any implementation must be placed in class that realizes them. The interface can't contain constants, data fields, constructors, destructors and static members. All the member declarations inside interface are implicitly public. 

Defining an Interface:
   

Let us look at a simple example for c# interfaces. In this example interface declares base functionality of node object.

interface INode


string Text
{
get;
set;


object Tag
{
get;
set;


int Height
{
get;
set;


int Width
{
get;
set;


float CalculateArea(); 

}


   The above INode interface has declared a few abstract properties and function which should be implemented by the derived classes. 

//Sample for Deriving a class using a C# .Net interface -  c# tutorial

public class Node : INode


public Node()
{}
public string Text


get
{
   return m_text;


set
{
   m_text = value;




private string m_text;
public object Tag


get
{
   return m_tag;


set
{
   m_tag = value;




private object m_tag = null;
public int Height


get
{
   return m_height;


set
{
   m_height = value;




private int m_height = 0;
public int Width


get
{
   return m_width;


set
{
   m_width = value;




private int m_width = 0; 

public float CalculateArea()


if((m_width<0)||(m_height<0))
    return 0; 

return m_height*m_width; 



}


   Now the above code has created a c# class Node that inherits from INode c# interface and implement all its members. A very important point to be remembered about c# interfaces is, if  some interface is inherited, the program must implement all its declared members. Otherwise the c# compiler throws an error.

   The above code was a simple example of c# interface usage. Now this has to be followed with some advanced details of interface building in C# .Net. The previous example used only names of methods or properties that have the same names as in interface. But there is another alternative method for writing the implementation for the members in class. It uses full method or property name e.g. INode.CalculateArea () {// implemetation}.

A good beginning makes a good ending