1. You cannot create an instance of an abstract class.
2. Abstract classes are primarily used as base classes, but abstract classes can also inherit other ordinary classes or abstract classes.
3. Abstract members can contain abstract members and ordinary band-implemented members.
4. Any class derived from an abstract class must use the override keyword to implement all of the abstract members of the class, unless the derived class itself is an abstract class.
5. Abstract members can only be declared in abstract classes.
6. Abstract members include: Methods, properties, events, indexes.
Namespace Abstract_example
{
Class Program
{
static void Main (string[] args)
{
MyClass m = new MyClass ();
M.propertyvalue = 100;
M.output ();
M.dowork (M.propertyvalue);
Console.readkey ();
}
Public abstract class A
{
public abstract void DoWork (int i);// Abstract members can only be declared in abstract classes
public abstract int PropertyValue
{
Get
Set
}
public void Output ()//an abstract class can contain members of an ordinary band implementation
{
Console.WriteLine ("I am Abstract Class A");
}
}
public class Myclass:a
{
int myvalue;
public override void DoWork (int i)//derived classes must all implement all abstract members in the base class
{
Console.WriteLine ("I am Class MyClass. My Value is {0} ", i);
}
public override int PropertyValue
{
get {return myvalue;}
Set{myvalue = value;}
}
}
}
}
Abstract classes and class members