What
is Abstract Classes:
Abstract classes are classes that contain
only the declaration of the method; whereas, the method is defined in the class.
In other word, abstract classes are similar to the base classes except that
method declared inside the abstract classes, know as abstract methods, do not have
method bodies
The following
are some important characteristics of abstract classes.
- An abstract class is declared by using the abstract keyword
- An abstract class is always public
- An abstract class can contain both abstract and non-abstract method
- An abstract class must have least one abstract method
- Each class derived from an abstract class must provide implementation for all the abstract methods of the abstract class.
- You cannot create an object of an abstract class. To use the functionality specified in an abstract class, you need to first derive a new class from the abstract class.
- Non abstract method of abstract class is invoked using object variable of sub class
The syntax to declare an abstract
class in C# is as follows:
[access modifier]
abstract class <className>
{
// content methods of
an abstract class
}
Example with Abstract Class:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace AbstractClasses
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
// create abstract class Shape
public abstract class Shape
{
// abstract method..............
public abstract void Area(double x);
//non-abstract method.............
public void
Circumference(double r)
{
double res = 2 * 3.14 * r;
MessageBox.Show("The Circumference
of Circle is = " + res);
}
}
public class Circle : Shape
{
public override void Area(double
radius)
{
double result = 3.14 * radius * radius;
MessageBox.Show("The Area
of Circle is = " + result);
}
}
public class Square : Shape
{
public override void Area(double
side)
{
double result = side * side;
MessageBox.Show("The Area
of Square is =" + result);
}
}
Call above class on btnGetArea Click………………………………………………..
private void
btnGetArea_Click(object sender, EventArgs e)
{
Circle c = new Circle();
c.Area(Convert.ToDouble(txtradius.Text));
//Non abstract method of abstract class is invoked using
object variable of sub class
c.Circumference(Convert.ToDouble(txtradius.Text));
Square s = new Square();
s.Area(Convert.ToDouble(txtside.Text));
}
}
}
0 comments:
Post a Comment