DATE 19/01/11 Wednesday
In the above case figure is an abstract class that provides the attributes, which are required in common for multiple figure like – rectangle, circle, triangle, cone etc. so it provide reusability through inheritance.
The Figure class also contains two abstract methods which need to be implimented separately for each figure, without changing the signature of the method.
- Add a class Figure.cs and write the following :
public abstract class Figure { public double width, height, radius; public const float pi = 3.14f; public abstract double GetArea(); public abstract double GetPerimeter(); } |
- Add a class Rectangle.cs and write the following :
public class Rectangle : Figure { public Rectangle(double width, double height) { // here using base or this will be same base.width = width; this.height = height; } public override double GetArea() { return width * height; } public override double GetPerimeter() { return 2 * (height + width); } } |
- Add a class Circle.cs and write the following :
class Circle: Figure { public Circle (double radius) { base.radius = radius; } public override double GetArea() { return pi * radius * radius; } public override double GetPerimeter() { return 2 * pi *radius; } } |
- To consume the Figures add a class TestFigure.cs and write the following:
class TestFigure { static void Main() { Rectangle r = new Rectangle(12.9, 23.87); Console.WriteLine(r.GetArea()); Console.WriteLine(r.GetPerimeter()); Circle c = new Circle (229.32); Console.WriteLine(c.GetArea()); Console.WriteLine(c.GetPerimeter()); Console.ReadLine(); } } |
# INTERFACES - These are also types just like a class but can contain only abstract members init.
Non abstract class – - only non abstract members |
Abstract class – - abstract members - non abstract members |
Interfaces – - only abstract members |
Note – whatever rules and regulations we have discussed in case of abstract classes applies to interfaces also.
Interfaces are used in the development of distributed applications Clint sever technology.
Interfaces also provide support for multiple inheritances i.e. a class can inherit from any number of Interfaces but can have only one class as its parent.
0 comments:
Post a Comment